PDA

View Full Version : Open Sauce Update #2



Kornman00
June 6th, 2009, 12:57 AM
So here it is, June of 2009. I've been doing the things I do for over seven years now, kind of hard to believe. First things first, Open Sauce Update #2. Rather bluntly, here are some of the features you'll be seeing with the Yelo and HEK portions of the SDK

Yelo (The part of OS which is ran by the runtime)
* Extending the amount of Campaign missions, allowing you to support up to a theoretical count of 32 campaign missions.
* Menu system a la Battery
* Settings system, with retro support for Battery settings
* Server only: Turning on\off console echoing\file logging for server events (ie player join)

OS HEK (The part of OS which is used by the tools obviously)
* (Tool) Building cache files with Yelo specific memory upgrades
* (Tool) Building cache files with "mod" based shared data files (optionally combined with memory upgrades)
* Selecting a different globals tag to use with your scenario. Requires your scenario to make use of the project_yellow tag.



Two new standard tag groups for use in the Open Sauce SDK.
"project_yellow_globals"
"project_yellow", acts as a scenario extension without screwing with the actual scenario's structure layout.
There may be some other tricks up the HEK's sleeve for you to enjoy too...

Of course whats listed isn't the COMPLETE list. It would be silly to show all of my cards, then theres no room for surprises. Some of you may have realized that I haven't spilled the beans on the stuff some scripters will especially like, yet. Sorry, but you'll have to wait for the release to find out what I'm hiding up my sleeve for that. Whats that? Oh right, I haven't announced the release date yet, silly me! August Twentieth. Don't try guessing the date's significance, because none of you know what it is.

However this announcement isn't just covering Update #2, but something else I've been wanting to finally tell the masses. Following the release of Update 2 I will be stepping down from all Halo 1 activities. Meaning I will not help with nor continually develop for the game or it's platform freely. I'm not sure if I'm totally stepping out (publicly) of the Halo business yet, but chances are any future endeavors I make with the games will be done privately to help support and prototype for a totally non-Halo game\project. Something is coming up for me which requires a pretty radical adjustment in what I focus on in my free time and thus my actively managed projects will be taking a hit. They've already been taking a hit, but it hasn't been until now that I was able to determine what continues and what stops.
I can assure however, that in less than a year from now that my public services for the Halo games will be nulled completely. While the exact date to me is unknown at this point in time, I am considering releasing some of the information I've mined on the games when the day comes. It won't be all I know, that would take too long to compile into something comprehending, and as I said, I'm not taking on anything new with the games. Plus powerpoint would choke. I'll probably do a more "formal" adios post then, but until then, WYSIWYG.

To help ease development into OS, I'm opening myself to ideas the community may have, via the Open Sauce Ideas thread. The community will have until Aug 15th to post their feasible ideas, along with an actual explanation of the idea (so no one liners) plus design DETAILS (how the actual addition is suppose to work). Afterwords, I will look into providing possible implementation descriptions that will be posted with Update #2.
Any user which can't take the time to think their idea out will suffer having any and ALL ideas discarded from my review. So, if some fuck posts about syncing AI one more time, any other ideas they post will be thrown into the bin. Even if the rest of their ideas follow the rules. So don't be a fuck. Also, don't bring up bump\normal mapping on dynamic objects (ie vehicles). Keep in mind that there are other ideas besides just adding to the gameplay. The tools aren't perfect either.


So there you have it, the good and the bad news. Sorry for those that like to be asked which they want first.

CodeBrain
June 6th, 2009, 01:09 AM
http://www.modacity.net/forums/showpost.php?p=408548&postcount=368


Breaking News: Kornman00 (Sean Cooper) is leaving the HCE community!

Tune in on the weekend to hear his goodbye speach!

:'(

I FUCKING CALLED IT.

But in all seriousness, sorry to see you go Korny, thanks for all the stuff you did :D

Hope for the best of luck in your future endeavors.

*salute*

Rook
June 6th, 2009, 01:16 AM
Cya around? :eyesroll:

Advancebo
June 6th, 2009, 01:18 AM
Changing daylight sky tag.
Its like a sky tag, with the ability to change the time of day. And not just day-night changes, but actual rotation between all differences of day and night. Like if you look up, you see the sun in a position in the sky, with the level in a certain lighting depending on the position of the sun. Then as the game progresses, and you look back up, the sun is in a different position in the sky, and it affects the lighting of the map. And along with night time, where you see the moon go across the sky. Then in the morning, you see the sun rising over the horizon.

Anton
June 6th, 2009, 01:19 AM
OS updates are always nice, but I'm sad to hear you will be leaving the CE scene. Whatever is hidden up your sleeves for the update better be announced soon, makes me giddy inside to know there is more than what you listed for what you listed is awesome in itself..

As for the campaign expansion, nice. :3 Thanks Kornman.

Advancebo
June 6th, 2009, 01:20 AM
Does the campaign thing mean you can use the other map names? Like a20, a40, b10, b20, etc?

jcap
June 6th, 2009, 01:26 AM
Don't take this thread as a goodbye one. It's not even for another two months.

Just think of everything that can and will be accomplished within these coming two months. The degree of work being done right now is higher quality than ever in Halo CE's history. Just think of what is going to be possible after the OpenSauce SDK is finalized.

Kornman, I wish you the best in whatever course you take. I'd love to see you submit an application to Bungie and floor them with your skill and knowledge. There is probably no one more deserving of a job there than you, taking into consideration everyone in the HCE community AND the Bungie employees. You have dedicated yourself to this game for the past 6 years, and you deserve everything you can get out of it.

I can't wait to see what's in the final release. I'll try to think up some more plausible additions for you to slave over. Just to mention right now, a plugin system would be awesome, so that a new build of OS doesn't have to be compiled for every person that wants to add a feature. If OS could load some lines of code from a dll in a folder, then that would be sweet.

The campaign expansion system is filled with awesome, as well as the new tools you're providing us.

Anyway, good luck with everything until release, and even past then. I know you're not leaving yet, but just remember that when you get the choice to sit it out or dance, I hope you dance.

Advancebo
June 6th, 2009, 01:29 AM
Anyway, good luck with everything until release, and even past then. I know you're not leaving yet, but just remember that when you get the choice to sit it out or dance, I hope you dance.

I'm sure he knows the music. :)

Cortexian
June 6th, 2009, 06:12 AM
I wish you sincere best wishes in whatever new path you choose to aim for in life, and I'm sorry to see you go Kornman. You've done plenty of great things for the Halo CE community and I hope that everything you've learned and experienced here will better your future, good luck!

Please take the time to seriously consider the private message I sent you, as I'm simply trying to continue working with what I have to add to the great community we have here.

Thank you.

t3h m00kz
June 6th, 2009, 06:20 AM
Noo, kornyyy.

Ilu mang. :< Are you still gonna take part in the community if not to just kick around?

Rhydgaled
June 6th, 2009, 06:46 AM
Does the campaign thing mean you can use the other map names? Like a20, a40, b10, b20, etc?
I'm interested to know this too. Will it also allow several campaigns, that I could intergrate as seperate campaigns in my UI? (I'm thinking of making a little app that renames all the CMT SPv2 campaign missions and supporting both the default and CMT SPv2 campaigns at once in my sapphire UI). I have a few ideas as well, but I'll use the ideas thread.

Also, are you ever going to release that user manual you promised us?

Jelly
June 6th, 2009, 06:50 AM
So, do I understand correctly that Yelo Battery is coming to 1.08?

FireScythe
June 6th, 2009, 08:52 AM
Changing daylight sky tag.
Its like a sky tag, with the ability to change the time of day. And not just day-night changes, but actual rotation between all differences of day and night. Like if you look up, you see the sun in a position in the sky, with the level in a certain lighting depending on the position of the sun. Then as the game progresses, and you look back up, the sun is in a different position in the sky, and it affects the lighting of the map. And along with night time, where you see the moon go across the sky. Then in the morning, you see the sun rising over the horizon.

If your talking about dynamically changing the maps lighting while you play I doubt thats going to be feasible as you can't change Halo's rendering engine so theres only two ways I can think of doing it.

1. Do radiosity every frame (:fail:) , or 2. have a dynamic light emitting over the entire level which would probably kill any PC and wouldn't have shadows.

If you want a static sun then I suppose thats feasible, but a number of factors would have to be taken into account if you wanted to be accurate. Ie. Basis' orbit around the sun and its orientation, Basis moons orbit and where Halo falls inbetween, and Halos rotation. Not to mention date and time.....might be easier just to guess :p.

Rhydgaled
June 6th, 2009, 01:01 PM
Changing daylight sky tag.
Its like a sky tag, with the ability to change the time of day. And not just day-night changes, but actual rotation between all differences of day and night. Like if you look up, you see the sun in a position in the sky, with the level in a certain lighting depending on the position of the sun. Then as the game progresses, and you look back up, the sun is in a different position in the sky, and it affects the lighting of the map. And along with night time, where you see the moon go across the sky. Then in the morning, you see the sun rising over the horizon.
Kirby_422 has done this I think, it hasn't been released yet though as far as I know so maybe something was discovered which stopped it working. See here for a youtube video (http://www.youtube.com/watch?v=hh1SFHj_jqs).

Roostervier
June 6th, 2009, 01:07 PM
Thanks for sticking with the community, Korn. Also, I think I can get me and a few others to come up with a list of feasible ideas, hopefully you would be able to implement them.

Rook
June 6th, 2009, 01:36 PM
ASC7WaRLQ00


Play while reading ^

Your passing has suspended reality for all of us. It was way too soon, and completely unfair on all accounts. I know as humble as you always were, that you would still be pleased to know that the world sends its love and that people all over this planet have been grieving. We've all lost a friend, we've lost a champion, and we're gonna take some time adjust to that.

But as you know, time seems to vary in speed. Some days it goes fast, other slow. But you will remain in the hearts of the Modacity folks. we knew the passing of "SPV2" came hard for you. You cried and pounded on the door of Masterz out of anger, fully knowing that it was Bungie who fucked the game and not him. You slowly moved away from Halo due to real life, something we would never understand. But alas, it is too late to reverse your thoughts. You committed suicide. A permanent solution to a temporary problem.

Farewell, Kornman00
September 2006 - June 6, 2009
very srs

sevlag
June 6th, 2009, 02:06 PM
korn, i haven't been around long or know you well, but i've used your programs you've made and its sad to see someone who has been with this community for quiet some time go,i really can't think of any proper things to say...

but good bye korn, the community and every CE player should and does thank you for the unfathomable good you've done to CE

jcap
June 6th, 2009, 02:09 PM
Why is everyone saying goodbye? God damn, this is like that Onion news video of people mourning the future deaths of those who will die in the future dam break.

sevlag
June 6th, 2009, 02:23 PM
Why is everyone saying goodbye? God damn, this is like that Onion news video of people mourning the future deaths of those who will die in the future dam break.

know i understsand that he isn't fully leaving, but its kinda like something to be sad about that someone who has heavily contributed to halo:custom edition to leave the scene of CE

i know he'll probably still kick around throwing in his two cents once ina while, but he'll eventually fade into obscurity

CodeBrain
June 6th, 2009, 02:40 PM
We're saying goodbye because we're assassinating korn tommorow

It kind of is a big deal, Korn is the godsend of Programmers :P

Hunter
June 6th, 2009, 02:43 PM
The future looks bright, well, korn. A thank-you from everyone in the Halo community to you for all of the support and products which you have given us. And for all of the time you have dedicated to this community. Good luck in what ever you go into, I am sure you will do an amazing job.

OS sounds like it is going to awesome. It would be typically good if you can do the walking on vehicles, like some sudgested in the other thread. Scarab battles anyone?

NerveBooger
June 6th, 2009, 03:51 PM
Combining multiple bsp's into one map . . . yes, but a new twist: Allow different gametypes for each bsp switch, and where you die, is where you respawn, then the carnage report is a multiple score card summarizing each game for each player.

Much like a triathlon, it includes multiple game skills. Start out on one bsp as race beginning and ending nav and completion time, then teleport to oddball for 2 minutes of skullduggery- then tele to another, then shotties no shields slayer, tele to the final, and autobalance for ctf.

How's this different than multiple maps in a cycle? its a single map with a single carnage report. I dont think this can be achieved currently by hek or other apps.

Think of it as Halo-Gladiator? Halodiator?

Sel
June 6th, 2009, 06:30 PM
2. have a dynamic light emitting over the entire level which would probably kill any PC and wouldn't have shadows.

Not really, unless you use a lot of dynamic lights, almost every pc with a graphics card thats not years old won't have any issue.

Llama Juice
June 7th, 2009, 08:18 AM
For the real time lighting changes thing..

Couldn't you just render radiosity for like every "hour" or two and then interpolate between them real time? I don't know anything about how it'd work codeside... but I'm pretty sure this is how they do it in GTA IV isn't it? (render a ton of lightmaps and go between them)

Also, Korn... <3

Hunter
June 7th, 2009, 10:08 AM
Maybe a particle blur effect for engines heat?

Choking Victim
June 7th, 2009, 10:24 AM
I'd like to see a script command allowing you to set a specific players perspective as 3rd person.

For instance:

(player_set_3p <playerid> <boolean>)
<playerid> is the players unique number in the player list, the <boolean> sets the statement as true/false.Another thing i'd like to see is a script command to change a bitmaps index value in real time for a specific shader. This would help with things like rtr simulation (using region specific cubemaps) and allow for more emblem variation.

For instance:

(bitmap_change <shader> <bitmap> <index>)
<shader> is the shader's tagpath containing the bitmap, <bitmap> is the bitmaps tagpath, <index> is the index value you'll switch to.For region specific cubemaps (like halo 3) you could place trigger volumes around a map, then change the mc's visor cubemap based on his location. Changing the bitmaps index value can also help with the day/night change, if you render different lightmaps for each time of day, then switch between them in real time.

Anyway, when the time comes it'll be sad to see you go korn. :(

Rhydgaled
June 7th, 2009, 11:43 AM
For region specific cubemaps (like halo 3) you could place trigger volumes around a map, then change the mc's visor cubemap based on his location.
Oh, so that's how it is done, I wondered how the cubemap on the spartan visor could show the map without reflecting players etc. Whatever happened to real time reflection in HALO 3 anyway? in the anouncement trailer vidoc thing they said he had real time reflection on his visor. (Does it actually have real time reflection in campaign, I know it doesn't for multiplayer.)

bobbysoon
June 7th, 2009, 04:41 PM
Loading of <mapname>.dll before loading <mapname>.map, or something like that

Con
June 7th, 2009, 10:10 PM
I'm not sure how difficult this might be, but divide the screen in half and have each half rendered from two side-by-side cameras for cross-eyed stereo vision win. I'm also not sure how good that would be for your eyes after a while, heh. Hows OS going to work with DXTweaker for us camo fix people?

Heathen
June 7th, 2009, 10:39 PM
sad day.

bye korn.

Srs.

Roostervier
June 7th, 2009, 10:42 PM
I'm not sure how difficult this might be, but divide the screen in half and have each half rendered from two side-by-side cameras for cross-eyed stereo vision win. I'm also not sure how good that would be for your eyes after a while, heh. Hows OS going to work with DXTweaker for us camo fix people?
Mine usually says DXTweaker has stopped working when I first run it, but once I'm ingame it still shows active camo correctly.

PwN Lone
June 8th, 2009, 11:09 AM
Goodbye Korn, good luck in real life. I'm sure you'll get places with the coding skills.

NerveBooger
June 8th, 2009, 05:18 PM
Script extraction?

k9colin
June 8th, 2009, 06:13 PM
Man I still remember the day YeLo was released for Xbox...

Goodbye Kornman and good luck in the future - I'm sure it will be bright, with many flashing colours and lighting effects and kick ass renders. But seriously good luck and thanks for all you've done for the community.

Advancebo
June 8th, 2009, 07:22 PM
Do you remember this (http://www.bungie.net/News/content.aspx?cid=2881), Kornman?

VickJr
June 11th, 2009, 09:25 PM
Kornman is going out with a bang, a big bang. We're all sad to see him go, but we should be very happy for what he's leaving us. *Can't wait to learn c++* I'll save the good bys for his actual good by thread.


And as for the real-time sky and lighting, that's basicly crysis. Halo can never be crysis. However, there might be a few tricks to do it, like interpolating between pre-calculated lightmaps, animating the lightmap bitmaps, stretching it in certain ways (to, say, enlongate shadows for a falling sun) while tinting it to make it darker, etc.

Kornman00
June 27th, 2009, 01:31 PM
Just for your information:

I've upgraded the project files to now be used for Visual Studio 2008. 08 has been my main IDE for eight months now and with VS2010 coming out soon, I didn't see the purpose of keeping with 2005.

Update 2 will use the some of the Boost (http://www.boost.org/) libraries. Currently I'm compiling with the 1.36 release but by the time of Update 2's exposure, version 1.40 will have been released (they're targeting Aug 1st). So if you're planning on doing any development with Halo 1 Yelo, you'll want to get that boost release.

Currently Open Sauce is composed of 8 visual studio projects (not all of them are of course included in the release). The Halo 1 projects (3) consume about 26k lines of code in 136 source files.

Hunter
June 27th, 2009, 05:45 PM
Can someone please tell me what this Yelo thing is. (And where to get it maybe). I have heard of it loads of times but never actually asked what it is. Didnt want to ask a stupid question but I could do with knowing.

FluffyDuckyâ„¢
June 27th, 2009, 10:47 PM
@ Hunter - http://www.modacity.net/forums/showthread.php?t=3966 :)

Kornman00
July 13th, 2009, 07:14 AM
Another update for you guys.

As of today Yelo only supports the latest versions of HaloCE (client) and HaloCE-Dedi. There is no longer any support for HaloCE (client) v1.0. I wasn't even keeping the v1.0 side up to date when I was working on the first release, and didn't really see a point in updating the code to make it compatible in this one either.
I've moved almost all (there are one or two instances in which this isn't the case) of the address related definitions (ie, FUNC_PTR, ENGINE_PTR, etc) to a single code file. With this, if someone wanted to target a different version they could just write a generator to auto-code (or...just due it by hand) the addresses. Thats if someone REALLY cared for supporting a different build of CE. Doing this was another reason for only supporting one target Client and Dedi.

The statistics code will no longer be in Update 2. This is because I don't want to support two systems. The other one being Synapse which will be the defacto system in statistics (and doesn't even use the same stat code anyway).

I've started growing closer to the point where I feel good about doing a small (limited) beta. Things that need testing are the upgraded engine limits (not only the tag memory, but the cache size and script memory). Plus the support for multiple data files (ie bitmaps). My goal is to start the testing somewhere around the beginning of August. I would prefer to have a small beta test of the tools with a single map team, then beta test Yelo with a larger set of people (at least a set which can fill an entire server). So if you think your team has what it takes to test the tools, PM me with your team's information (members, current project(s), etc) and I'll consider you for the beta when the time comes

Limited
July 14th, 2009, 09:04 AM
All the code I do is for 1.08, I don't have 1.0 installed a y don't see why I should go out my way to support it so I agree with you decision. All definitions In 1 file sounds good so it's easier to keep open as we just let people know what lines to add.

Kornman00
July 14th, 2009, 11:54 AM
I also tossed the include guards and just went back to "#pragma once" (original, non-public Yelo code used it). Originally I was trying to keep the code usable under any compiler but just said fuck it, as the game was compiled against the VC++ compiler and they used the Visual Studio IDE. Plus I'm a "Microsoft Specifc" whore %-)

Another benefit with just landing on VC++ as the only supported compiler is the use of a precompiled header. I know most modern compilers support them, but I don't know how others (ie, GCC) require you to set them up and didn't feel like wasting (well, dedicating) time researching if its a standard across all compilers. For other projects I would, but not for this one.

Then of course I'm now making use of the boost preprocessor library. I may find some use of the other sub-libraries in boost before Update 2 is out though. I really just like to keep Yelo's code base really lean as it's interfacing with a black box application so being able to keep any extra code added by the compiler at bay is a must in my eyes. Things like static ctors (which I HATE to begin with) are just a no-no. Object creation\deletion should go in the component initializer and disposer pairs so the system setup and break down are deterministic.
Plus you then just comment a component pair out to quickly find out which system is actually causing a crash at startup and not have to worry about any rogue static initializers defined in a cpp file far, far away, doing some nasty code causing the game to crash. This has saved me time in debugging multiple times. OCD can sometimes be a good thing.

Terror(NO)More
July 22nd, 2009, 03:15 PM
Damn, so much can go on in so little time one is gone. Well It so seems. Kornman00 whether it's me being a pain in everyone's ass or being somewhat of a help. I have been around to see all your achievements, and fails. But you come out on the top, always. I don't know you other than just a forum member, but I want to wish you the best of luck. I want you to step your feet and get into anything you dream. And I believe from what you say it is beginning to happen for you. I'm very glad. And again I wish you best of luck. Hope to see your name somewhere big one day soon man. Though I'm not around in Halo CE anymore. I will miss what you've done and could do for us all. Gonna miss you man! :gonk:

Dwood
July 22nd, 2009, 03:16 PM
:gonk:

This isn't the goodbye thread...

klange
July 22nd, 2009, 03:20 PM
This isn't the goodbye thread...
Well, technically it is. A little after Update #2 is released, km00 will be parting ways.

Hmm... Hey, km00, you said a week ago you thought you were ready for limited beta, you still thinking about doing that?

t3h m00kz
July 22nd, 2009, 03:48 PM
What I want to know is if he's still gonna stick around the forums and post from time to time or if he's... REALLY going away forever.

:saddowns:

Korny's better than some Halo app imo yeah?

Pyong Kawaguchi
July 22nd, 2009, 04:19 PM
Yeah, I hope he doesn't go away forever :S

Kornman00
July 22nd, 2009, 04:35 PM
Well, technically it is. A little after Update #2 is released, km00 will be parting ways.

Hmm... Hey, km00, you said a week ago you thought you were ready for limited beta, you still thinking about doing that?
While not an officially official good bye thread...yeah. Though I will probably pull a Wolfson every now and then depending on the severity of the need (if I'm still able anyway).

Yeah, I'm getting closer to the date I was hoping to do a limited beta. Never got any mod team PMs though heh.


NOTE: not ignoring other people's posts on purpose...just its not the best time for me to answer things during the work week. I put up with enough shit at work then come home and try to put some work into some things if I can, lurk around and relax.

Masterz1337
July 22nd, 2009, 07:05 PM
I'd be happy to test, although you already know my stance on making SPV2 require it.

Kornman00
July 27th, 2009, 02:08 PM
Another mini-update: I've redesigned the scripting framework internals to now add the custom functions/globals instead of replacing existing "null" ones (functions which didn't do anything per se or globals which didn't reference anything). Just one of the legacy Yelo designs which I wanted to "set right" for the public release. It may have been ok when it was just an internal hack with BB and I, but it wasn't something I would want being the baseline for the public, nor does the old design comply with the compatibility standards I'm setting the OS code to.

The old design was also a reason why a certain scripting extension didn't make it into the initial release...

Kornman00
August 7th, 2009, 07:29 AM
Just a warning:

I may have to push the release back from the specified release date (on a Thursday) to the following weekend. I had unplanned (from when I originally drafted the release schedule) events this past saturday, sunday and monday and I now have a mission I'm being put on (since I have a day job) for a few days around the actual release date. So real world events may interfere with the scheduled release date as I now have 4 days "in-the-hole" in terms of development time.

However, I'm still working as if I'm releasing on time. This is just a warning. So...don't say I didn't warn you! Or bitch.

Limited
August 7th, 2009, 05:12 PM
Aw :( Okay, actually this is good, it means Kornman doesnt leave the community, till later :D

Dwood
August 7th, 2009, 10:31 PM
As I haven't really looked into Open Sauce V1 very deep (doesn't convert properly to 2008); Korn, I have a question:

Will Codecaving still be necessary?

ShadowSpartan
August 8th, 2009, 04:27 AM
As I haven't really looked into Open Sauce V1 very deep (doesn't convert properly to 2008)
Yes it does. I use VS2008, and the project upgraded fine for me.

Limited
August 8th, 2009, 04:05 PM
As I haven't really looked into Open Sauce V1 very deep (doesn't convert properly to 2008); Korn, I have a question:

Will Codecaving still be necessary?
I also use 2008, works fantastically. You sure you opened the right file?

FireScythe
August 8th, 2009, 06:34 PM
I've got a fix for the active camo bug here, incase you want to drop it in to OS2.

HRESULT Yelo_IDirect3D9::GetAdapterIdentifier(UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9 *pIdentifier)
{
HRESULT hr = Yelo_pD3D->GetAdapterIdentifier(Adapter, Flags, pIdentifier);
if (SUCCEEDED(hr) && pIdentifier->VendorId == 0x10de)
pIdentifier->VendorId = 0x12d2;
return hr;
}Replaces the corresponding function in DxWrapper.cpp. It just returns a different nVidia VendorId, taken from the config.txt file. Tested on my GeForce 9600GT and works fine.

Amit
August 8th, 2009, 06:40 PM
Could someone explain how I get Open Sauce to run with Halo CE? I've searched many places for about 45-mins now and I still can't find anything. I see the SDK and various add-on releases but no main OS download.

Skyline
August 8th, 2009, 06:47 PM
This is the update thread, theres another OS thread in which he released the files, which is the sdk. You either need to compile it yourself or there should already be a d3d9.dll in the release folder. You put the d3d9.dll into your halo custom edition directory and that's it.

Dwood
August 8th, 2009, 06:54 PM
Perhaps there are multiple versions?

My main question still isn't answered.

Amit
August 8th, 2009, 06:58 PM
Thanks Skyline.

E: How do I compile the dll? C++ is a shady area for me.

Skyline
August 8th, 2009, 08:15 PM
Perhaps there are multiple versions?

My main question still isn't answered.

I believe kornman was kind enough to fix the functions. So you can add a command such as cheat_spawn_warthog and it will run your code. If that's not what you meant perhaps you could be a bit more specific?

Dwood
August 8th, 2009, 09:17 PM
I believe kornman was kind enough to fix the functions. So you can add a command such as cheat_spawn_warthog and it will run your code. If that's not what you meant perhaps you could be a bit more specific?

The question topic is something only a person who knows in-depth programming would know. Like Kornman.

Codecaving is taking an address of a program (5 bytes or more) that tells the computer to reference something like a .dll At that point you can get data/values (from Assembly code) and then change the data. E.G. Get the text a person typed and change it to something else.

ShadowSpartan
August 8th, 2009, 09:36 PM
The question topic is something only a person who knows in-depth programming would know. Like Kornman.
Skyline seems like a good programmer, don't insult him.


Will Codecaving still be necessary?
How else would you execute the code in an OS dll?


My main question still isn't answered.
You didn't even give Korn a full day to answer your question. He doesn't have to answer your question, nor does he have to do it in a set amount of time.

Dwood
August 8th, 2009, 10:02 PM
You didn't even give Korn a full day to answer your question. He doesn't have to answer your question, nor does he have to do it in a set amount of time.

I don't mean to be offensive, or rude, if I am sounding like I am. The response that Skyline gave me was not something that correlated with the question, so i explained it.

Skyline
August 8th, 2009, 10:35 PM
The question you asked made no sense, what other method would be used other then using a codecave? Creating a codecave has never been simplier then using a function created by kornman:

#include "Memory/MemoryInterface.hpp"

Yelo::Memory::CreateHook(void* function, void* hook_address, byte end);

Figuring out where to put your codecave is part of your job. Kornman isn't going to map out halo in its' entirety for you. Find out what calls the function that retrieves the text and add your codecave to overwrite the text with your own code, assuming this would have to be server-sided and all clients would need OS.

I know what a codecave is, it would have been pretty hard to make a fov and 3p app without knowing what it is :tinfoil:.

Dwood
August 8th, 2009, 10:51 PM
The question you asked made no sense, what other method would be used other then using a codecave? Creating a codecave has never been simplier then using a function created by kornman:

#include "Memory/MemoryInterface.hpp"

Yelo::Memory::CreateHook(void* function, void* hook_address, byte end);Figuring out where to put your codecave is part of your job. Kornman isn't going to map out halo in its' entirety for you. Find out what calls the function that retrieves the text and add your codecave to overwrite the text with your own code, assuming this would have to be server-sided and all clients would need OS.

I know what a codecave is, it would have been pretty hard to make a fov and 3p app without knowing what it is :tinfoil:.

Sorry about this whole thing. We should start over. You see, your response didn't sound like you were talking about codecaving at all.

If you wish to understand my question completely, see my other thread. I already have the address space in Halo etc figured out for what I want to do. I was just wondering if Kornman brought more to the table (which it obviously does) such that we could intercept text with Open Sauce.

I think i overestimated this, however. :/

Limited
August 9th, 2009, 01:58 PM
I think you need to learn how C++ works first. I also recommend learning ASM as that helps out so much. Codecaves are simple, coding them is a bit trickier, however kornman has made it so simple to implement, its fantastic.

You need to create a hook, and then assign it a method. The method will run when the initial hook code runs. You might need to replace the ASM code in your method but thats easy. Then you add in your hokey pokey code that does what you want it do, and bingo.

I've simplified it a bit but thats pretty much it. I understand your new to C++, and I admire you for trying to use OS, more people should be using it, but please dont insult experienced members knowledge

Dwood
August 9th, 2009, 03:03 PM
I think you need to learn how C++ works first. I also recommend learning ASM as that helps out so much. Codecaves are simple, coding them is a bit trickier, however kornman has made it so simple to implement, its fantastic.

You need to create a hook, and then assign it a method. The method will run when the initial hook code runs. You might need to replace the ASM code in your method but thats easy. Then you add in your hokey pokey code that does what you want it do, and bingo.

I've simplified it a bit but thats pretty much it. I understand your new to C++, and I admire you for trying to use OS, more people should be using it, but please dont insult experienced members knowledge

Oi I know about codecaves. I've already got a thread up... as you may have seen in My latest HCE thread. I've got the codecave and can get the text and everything... I was just wondering if I needed to know anything more in order to implement into Open Sauce.

Kornman00
August 9th, 2009, 03:09 PM
People not knowing how to inject their own code was one of the reasons for so many "unused" Update functions (ie in the Effects or AI components). At least then they can keep their code organized in the respected systems and also not have to worry too much about figuring out where to inject their code.

I also cleaned up the MemoryInterface functions so there are only 3 functions now: CreateHookRelativeCall (requires 6 bytes at the destination address) and WriteRelativeJmp\Call (which require 5 bytes).
It was something I wanted to do in the initial release but instead just kept the cut&paste from the original Yelo code base which was just a hack-in-progress-job and thus didn't get cleaned up and broken down very much. That being said, one of the goals of Update 2 is to remove the code-hacks and code duplication that leaked from the old Yelo codebase and I think developers will appreciate the final product.

Dr Pepper
August 14th, 2009, 01:42 PM
I'm late but, were gonna miss you man, I know you don't know me, but everyone knows you created a huge impact in HCE, thanks a lot.

FRain
August 14th, 2009, 05:43 PM
I don't know if this is related to Open Sauce, but is there any way to make the debug_objects command work? It's a debug command showing the bounding spheres of objects, green wireframes of collision models, and such like that. I've tried executing it ingame, but I think it may have been removed.

chrisk123999
August 14th, 2009, 05:57 PM
It only works in sapien. I assume it's hard codded to 0 in-game.

ShadowSpartan
August 14th, 2009, 06:34 PM
I've tried executing it ingame, but I think it may have been removed.
The code for that global was removed from the Halo executable.


It only works in sapien. I assume it's hard codded to 0 in-game.
If a global's code has been removed, then it will always default to zero.

Kornman00
August 18th, 2009, 06:38 PM
Just a warning:

I may have to push the release back from the specified release date (on a Thursday) to the following (read: this) weekend.

I'm going to have to play this card. While pretty much everything codebase wise is 'in', I haven't had as much time as I wanted to test the features and tools for any sneaky problematic bugs (really don't want to have to release small updates after release, but will to make sure the codebase is pristine). Will also give me some time polish up on the help document to assist users into the codebase (which is about to hit 20K lines-of-code).

I'm looking at a two week 'grace period' in terms of support. Bugs\issues found within this time period (with my codebase, not anyone else's deviations) will be addressed ASAP and fixed in one roll-out. However, after that any fixes will be done and released whenever I feel like it (unless it's a show stopper bug).

With that said, around the time ODST is due to come out will probably be the time of the first public beta release of Synapse will be available. Up until now it's just been internal testing to get the supporting frameworks forged out. Synapse is my Halo: Reach. Not committing myself to any more public projects (even though I said that with OS2) after it as it's become rather difficult to keep up (http://www.codeproject.com/index.aspx) with new technologies in software development and other personal R&D in my free time.

Rambo
August 19th, 2009, 08:20 AM
Well, Open Sauce #2 is coming out tomorrow, guys. It's finally almost here.

I wonder where or how he'll post it?

Dwood
August 19th, 2009, 09:13 AM
Well, Open Sauce #2 is coming out tomorrow, guys. It's finally almost here.

I wonder where or how he'll post it?

Did you not read the post above you? :haw:

Rambo
August 19th, 2009, 06:27 PM
Damn! So it's this weekend. OK. And I had my hopes up on testing it out too.

Oh well. It'll be out by next Monday, I hope.

Rambo
August 24th, 2009, 02:22 PM
I know it's Monday and all, but when is the Open Sauce 2 SDK coming out? Kornman00 said this last week-end (friday through sunday) and it's now Monday, which is the start of the new week, work wise.

Is OS2 coming out anytime soon? Just wondering. Not trying to be an ass.

Is

Dwood
August 24th, 2009, 02:55 PM
Read the posts...

Rambo
August 24th, 2009, 03:39 PM
I don't see anything in this thread that points to a release date besides what he wrote about last week-end.

Just a warning:

I may have to push the release back from the specified release date (on a Thursday) to the following (read: this) weekend.
If it isn't last weekend, referring to the weekend of last Thursday, then I don't know when it will come out. Sorry.

Delta4907
August 24th, 2009, 03:49 PM
Did you ever think maybe he hasn't had time to post it yet? Assuming he isn't on here 24\7.

Kornman00
August 24th, 2009, 04:55 PM
I'm on a 4 day weekend (one of the very few perks of my current job), tuesday being my last day off, so you can expect between now and then.

Syuusuke
August 24th, 2009, 05:08 PM
Ugh maybe you should stop crashing H2V, it's already bad enough.

t3h m00kz
August 24th, 2009, 08:12 PM
yeah really wtf korn. :saddowns:

Kornman00
August 24th, 2009, 09:02 PM
I'm an equal opportunity ass kicker

http://www.modacity.net/forums/images/customavatars/avatar922_22.gif (http://www.modacity.net/forums/member.php?u=922)

EDIT:
Forgot to copy my config.txt over to where I'm testing a build of sapien. Sapien wanted to tell me of this foul play, but since I also forgot to put a copy of strings.dll in there too...well, it would close without any error info what so ever.