PDA

View Full Version : [APP] OpenSauce Halo CE SDK Update #2 (RC)



Pages : [1] 2 3

Kornman00
August 25th, 2009, 08:00 PM
2011-05-05 update:
Stop downloading these files. They're all out of date. New official builds will always be posted on the google code project's download page (http://code.google.com/p/open-sauce/downloads/list).


Look over there!

*posts OpenSauce Update #2*

EDIT: To read the initial update text, view the spoiler

Well, glad you can finally join us. I'm late? You're late, what took you so long, gosh? :|

It's here, the SDK you've (all?) been waiting for. I don't know about you, but I'm just fucking ecstatic. Not only does it close a chapter in my books but it just makes me happy to think that someone out there who is as big as a fan of Bungie and their work's will put this collection of tools and source to use and do more new things with an engine which will never be laid to rest. I'm kind of at writing these (basically) PR posts about the projects I work on, but I've filled the hat of every other role a project like this required. Researcher, disassembler, hacker, programmer, debugger, h2v crasher, tester, designer, etc etc. Though I've had some help with getting this SDK to where it is today. Just would like to stop and give thanks to all those pawns in the chess board that is this Halo Community (in ABC order):


jcap (aka Icon Dude)
Mike D. (aka xbox7887)
MonoxideC (aka "Drape Master J")
p0lar_bear
rec0 (aka Rosco)
ShadowSpartan (aka sarcastic bitch)
Shaun W. (aka bitterbanana)
TheGhost

So, lets talk about whats actually in the SDK shall we? I would like to first note the "improved" HEK tools. I didn't give them a stupid name this time around (looking at you "a hobo" and "kornman00"). Instead they're name as "OS_" plus the original tool name (ie, OS_tool). What can you expect out of this "improved" HEK?


These tools don't clutter your root directory with report files such as "tag_dump.txt". Instead such files are stuffed into a sub-directory (relative to the tool itself) called "OpenSauce\Reports". However, "debug.txt" still appears in the root directory.
Use a different globals tag! No longer will you have to backup your globals tag and blah blah blah blah! I know, annoying. Real annoying. Now when your scenario tag makes use of the new "project_yellow" tag you can specify a globals override. Then when either you're bootin' up the new OS_sapien or using OS_tool's new build-cache-file-ex command, the engine will use that globals override tag instead.
Increased max block element counts. So blocks can now contain more elements than before. Just which blocks have been touched up?

model->shader references
model_animation->sound references
model_animation->animations
model_collision->damage regions
scenario->structure bsp (4x more. yay.)


Also, there is a new never-before unhidden field in the scenario. Can you find it ;)?
Some ground work has been made for things like multiple lightmaps per bsp, along with some fields which a possible future automated tool can use to generate data for new Main Menu maps for custom mods.
Some gound work on a new shader_postprocess_collection tag. I'm sure FireScythe knows where I was going with this one ;)
tool's new build-cache-file-ex command. Allows you to build cache files that can use the new memory upgrades and/or use new data file sets (based on the original bitmaps/sounds). You must use this command if you wish to use your scenario's globals override. build-cache-file will build a cache without any explicit changes. However do note that any custom tag definitions will still be included.
tool's help command. Use this for more information on the new OS tool commands.

There is also a new utility called OpenSauceIDE. This tool is based off a generic Blam! library I've been writing since 2005 (on its third and last iteration). This is the tool you use to create new tag groups for use in your projects. I was hoping to include a few more utilities in the IDE, but some of them aren't quite ready for public consumption. However, if and when they do get included, they'll make tag management much, much better.


Then there is the actual source code version of the SDK, which is known as Yelo (the vcproj named Halo1_CE). This is where you'll probably find yourself digging around in the most. I took these past few months to dig around and try to find meaningful fields in the game state object data which can provide for some interesting mods. I've also got the code in there to upgrade the game's tag memory, cache limits, and new data file usage. Theres much more to be mentioned, but you'll just have to dig into the source yourself to figure it all out. A couple of notes however:


While Battery's features have been included, only a few HUD options were implemented as some others interfered with the hud-chat logging.
I had to remove a majority of the code (both old and new to OS2) related to server management. Not entirely something I wanted to do, but so goes paving the future of HaloCE stats with Synapse.
There are quite a few things which I never was able to finish implementing in time for this release. Some of them I didn't include the source to (namely recorded animations) others didn't have much source to begin with so are still hanging around in the code.

There are two utilities which are included for you Xbox developers. You can thank xbox7887 for them. They were supposed to be included in the initial release, but some bad timings happened. I can't comment too much on them, I only didn't do too much work or coding on them, mostly just coached xbox7887 on their development.

Pictures:

The new project_yellow tags in action
http://kornnersoftware.com/yelo/halo1/2009_08/YeloNewTags.jpg



The new OS_tool in action
http://kornnersoftware.com/yelo/halo1/2009_08/OS_tool.jpg



The new OpenSauceIDE in action
http://kornnersoftware.com/yelo/halo1/2009_08/OpenSauce%20IDE.jpg


NOTE:
This is a Release Canidate. I'm doing a two week trial period to let people find any bugs or conditions which I wasn't able to catch or check for. After those two weeks are up I'll fix any unsolved problems and may include a few more things for end-users to poke at.




To build the Halo1_CE source code you will need the following libraries:

Boost C++
http://www.boost.org/users/download/

Microsoft(C)'s DirectX (TM)
SDK: http://www.microsoft.com/downloads/details.aspx?familyid=24A541D6-0486-4453-8641-1EEE9E21B282&displaylang=en
DirectX End-User Runtime Web Installer: http://www.microsoft.com/downloads/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en



Download the OpenSauce 2 SDK (RC) (http://files.modacity.net/apps/opensauce/OpenSauce_20090825_RC1.rar).

OR...

Download the OpenSauce HEK (RC) (http://files.modacity.net/apps/opensauce/OS_HEK_RC1.rar).
The OS HEK is included in the SDK download.
This download contains only the unlocked and updated HEK, not the SDK.


Dedicated to my Grandfather (2008) and Sister (1999).


2009-12-08 OpenSauce Source Update

Attached is a update "Appetizer". Includes the bug fixes and proxy "enhancement" as seen in the current compiled test DLL. Both the DLL and "Appetizer" source files can be downloaded from the links at the bottom of this post.

__________________________

The attached dll is available for download as a sample of the compiled source code. I do not, in any way, support the attached DLL. Use at your risk. You will still need the latest DX.

After downloading, rename the dll to "d3d9.dll" and place in your Halo CE directory, alongside haloce.exe.

In order to get the exception data for posting do the following:

On XP, I believe there is a way to save the Exception Data of which it notoriously Gathers. Try clicking the "View Details" linkish looking thing (IIRC) and see if it lets you.

On Vista its a little different. This difference actually made developing hacks like Yelo more time consuming to debug on my end as the amount of steps involved.
1) Control Panel->Problem Reports and Solutions->View problem history
2) Find HaloCE (or it may be the name of the dll, dx3d9.dll or w/e)
3) Right click->View problem details.
4) Copy to clipboard & pasta in your post
5) ???
6) Fix?
7) Deficit

2009-08-29 DLL update:

* Custom Weapon Views are working now
* Hud Options now actually load
* HUD scaling is working as expected now
* Enabled use of a "d3d9_proxy.dll" to allow other d3d9 proxy hacks to work. NOTE: This has only been tested with SoftTH. With that said, if you're using any d3d9_proxy.dll, any exceptions encountered will not be considered for support unless I feel I can be arsed. If you're encountering exceptions, remove the proxy then load the game again. If problem continues, post the exception data.


2011-05-05 update:
Stop downloading these files. They're all out of date. New official builds will always be posted on the google code project's download page (http://code.google.com/p/open-sauce/downloads/list).

Siliconmaster
August 25th, 2009, 08:11 PM
:neckbeard: Yay! This deserves an :iamafag:. And another one: :iamafag:.

Thank you so much for your efforts and help in keeping the CE community alive and kicking. Also, your dedications are touching and the dates are tragic. :(

Rambo
August 25th, 2009, 08:50 PM
Will somebody please post a compiled version of Open Sauce for me? I do not have a compiler nor do I know how to use one, as I do not program.

I would like d3d9.dll and any other compiled resources necessary to fully run Open Sauce 2. Thank you. If you could lease post the links to compiled resources here it would be much appreciated.

Again, thank you for the release and thanks for listening.

Kornman00
August 25th, 2009, 09:17 PM
I should also note that while there is code inplace for adding more campaign levels, I never got around to testing the code (hence why the component isn't included in Main.cpp). If I had a UI which was setup for it then I could but as it stands, it's all experimental code.

ARKaMAN
August 25th, 2009, 09:33 PM
Wow really good job! Thanks for the build 2. I was going to do it for Rambo but you got to it first :P DX9 FTW.

Ganon
August 25th, 2009, 09:35 PM
I'm still terribly confused as to the true possibilities of this, but it looks like you've done a great deed.

Rambo
August 25th, 2009, 09:54 PM
I installed the DLL and the binaries, but cannot access the new stuff. How do I access the new tags?

Also, when running, the tools say something about Yelo not running properly (something about a kludge). Is this normal and if not, how do i fix?

Again, thank you for all the great work, Kornman00.

Heathen
August 25th, 2009, 10:00 PM
So I am here for what most are, what does this mean for the user?

What are some examples of possibilities?

cheezdue
August 25th, 2009, 10:04 PM
This sounds like fun. Maybe I'll try to learn how to do this stuff.

ultama121
August 25th, 2009, 10:04 PM
This is awesome.

ARKaMAN
August 25th, 2009, 10:04 PM
Both me and rambo are having trouble with the error he explained. He tried updating DX9 and retarted but that did not help. any ideas?

Siliconmaster
August 25th, 2009, 10:06 PM
K, I know you don't support that build, but I thought I'd mention it either crashed Halo when using the dxtweaker, or rendered everything a solid blue-gray color. :raise:

I'll just assume it's a WIP and wait for someone to post an OS2 .dll of their own.

ARKaMAN
August 25th, 2009, 10:08 PM
K, I know you don't support that build, but I thought I'd mention it either crashed Halo when using the dxtweaker, or rendered everything a solid blue-gray color. :raise:

I'll just assume it's a WIP and wait for someone to post an OS2 .dll of their own.


Im running 1.08! is that a build that is not working? What build am I supposed to use! 1.09 like the beta R of this?

king_nothing_
August 25th, 2009, 10:08 PM
Thanks for this, and good job. :iia:

Is there any way at all to use Yelo while Xfire In-Game is enabled?

Siliconmaster
August 25th, 2009, 10:10 PM
Im running 1.08! is that a build that is not working? What build am I supposed to use! 1.09 like the beta R of this?

I'm using 1.08 too. :shrug:

ShadowSpartan
August 25th, 2009, 10:17 PM
I installed the DLL and the binaries, but cannot access the new stuff. How do I access the new tags?
What do you mean by "access the new tags"?


Also, when running, the tools say something about Yelo not running properly (something about a kludge). Is this normal and if not, how do i fix?
I assume you are talking about running the OpenSauceIDE executable.If your error message looks like this (http://shadow.modacity.net/iamasarcasticbitch.png), then you have to put a DirectX dll in the same directory as the executable. If you have a DirectX SDK installed already, then use the dll located at "C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.dll".


Thanks for all your hard work Korn, the CE community wouldn't be what it is today without you. I can't wait to look at the new version in depth, hopefully I'll be able to do it this weekend.
Damn you! I can't find the unhidden scenario field.

king_nothing_
August 25th, 2009, 10:19 PM
It's not saving my weapon placement settings. If I close CE and start it back up, they go back to default.

Kornman00
August 25th, 2009, 10:26 PM
I installed the DLL and the binaries, but cannot access the new stuff. How do I access the new tags?

Also, when running, the tools say something about Yelo not running properly (something about a kludge). Is this normal and if not, how do i fix?

Again, thank you for all the great work, Kornman00.
In order to create new tag groups you have to use OpenSauceIDE. There are some rough examples in the bin\OpenSauce\CheApe folder. The tag_groups.map has to be in the same directory as the "OS_" HEK tools in order for their Yelo features to work (ie, project_yellow tag, new tool commands, etc).

If any application, other than Halo (ie, sapien), tries to run the DX DLL which Yelo hides itself as, then Yelo will prompt the user with that kludge message. Basically, Yelo is loaded, but all code is dormant and it continues to act as a proxy to the real DX9 dll. Just rename, move or delete the Yelo dx dll and the message won't appear.

This RC is namely targeted towards developers, not game users, which is why I don't support the posted DX dll. While I will listen to issues and problems from regular users, I won't be rushing to fix them just so you can use the features in-game.

DXTweaker and Xfire are already known to cause issues. Consult the old problems thread (http://www.modacity.net/forums/showthread.php?t=16052).


It's not saving my weapon placement settings. If I close CE and start it back up, they go back to default.
I'll check it out later today King

Siliconmaster
August 25th, 2009, 10:31 PM
This RC is namely targeted towards developers, not game users, which is why I don't support the posted DX dll. While I will listen to issues and problems from regular users, I won't be rushing to fix them just so you can use the features in-game.

DXTweaker and Xfire are already known to cause issues. Consult the old problems thread (http://www.modacity.net/forums/showthread.php?t=16052).


Understood. I only mentioned it because my setup via dxtweaker had worked with previous OS .dlls. I'll wait to see what people come up with. :)

ARKaMAN
August 25th, 2009, 10:32 PM
thanks for the info. Me and Rambo are now trying out the new tags.

Kornman00
August 25th, 2009, 10:37 PM
EDIT: Np ARKa. If you have any questions, please compile them into a list and I will try to address them here or in the documentation which I'm continuing to working on :)
______
Just want to acknowledge the fact that I know the documentation is lacking in RC1. Like I said, this RC is targeted towards developers who will actually be getting involved with the source code. I didn't want to hold back the release just to work on documentation.


To briefly explain how Yelo's safety checks work so that nothing non-Haloce loads it, you'll need to reference Main.cpp



if ( strstr(name,PLATFORM_VALUE("haloce","haloceded")) == NULL )
{
#if PLATFORM_IS_USER && defined(DX_WRAPPER)
sprintf_s(warning,
"An application (%s) tried to run Yelo (Open Sauce) which is a plugin that is only compatible with Halo (CE) v1.08. \n"
"The plugin's interface to DirectX 9 will continue to run, but note that this is a kludge."
"\n\n"
"If you don't wish to see this message anymore, then remove this file to uninstall the plugin: \n"
"%s\\d3d9.dll",
name, dir);
#elif PLATFORM_IS_DEDI
sprintf_s(warning,
"An application (%s) tried to run Yelo (Open Sauce) which is a plugin that is only compatible with Halo Dedi (CE) v1.08. \n"
"Plugin will not be loaded, this is just warning.",
name);
#endif
If "haloce" (or "haloceded" for Dedi builds) do not appear in the application's (which loaded the module) name, then this will cause the above error to spawn. Take note that it will explicitly tell you the name of the exe in question.



else if(IsVersionInfoValid())
{
return _main_globals.enabled = true;
}
Checks to make sure the game exe's version is 1.08.616. If not, performs the following:



else
{
#if PLATFORM_IS_USER && defined(DX_WRAPPER)
sprintf_s(warning,
"Yelo (Open Sauce) is a plugin that is only compatible with Halo (CE) v1.08. Your version is incompatible."
"\n\n"
"If you wish to use Yelo, you must update by running this file: \n"
"%s\\haloupdate.exe"
"\n\n"
"If you don't wish to use Yelo, then remove this file to uninstall it: \n"
"%s\\d3d9.dll",
dir, dir);
#elif PLATFORM_IS_DEDI
sprintf_s(warning,
"Yelo (Open Sauce) is a plugin that is only compatible with Halo Dedi (CE) v1.08. Your version is incompatible."
"\n\n"
"If you wish to use Yelo, you must update by your haloded.exe file"
);
#endif
}
You'll see this if, for example, sapien tried to load the module thinking it was the real DX dll that Microsoft created.

Limited
August 25th, 2009, 10:52 PM
Fantastic stuff Kornman, again you amaze us all with your knowledge :)

Going to play with it tomorrow as I'm going to sleep now. Might start work implementing the stuff skyline and I have made from v1.

Outstanding work.

ARKaMAN
August 25th, 2009, 10:54 PM
I just started C++ so lots of that stuff means nothing to me. But I'm going to be doing a C++ class in highschool.

FRain
August 25th, 2009, 11:42 PM
I opened it and got really confused because its a whole bunch of coding files but then I realized... im not a coder, so I can't enjoy it to it's full potential.

Thanks korn, you've given us a great gift.

boogerlad
August 26th, 2009, 12:10 AM
I'm no coder, but if we use the d3d9.dll that you've hosted and we put it in the halo folder and start up the game... yelo batter would work and the hud wouldn't be stretched? I realize the sdk is good for coders, but I read "battery" and though about it.

Kornman00
August 26th, 2009, 12:14 AM
Fantastic stuff Kornman, again you amaze us all with your knowledge :)

Going to play with it tomorrow as I'm going to sleep now. Might start work implementing the stuff skyline and I have made from v1.

Outstanding work.
Thanks, if you guys have any questions in reguards to porting your works to the new Update 2 SDK, just post them and I'll try addressing them as soon as possible


I just started C++ so lots of that stuff means nothing to me. But I'm going to be doing a C++ class in highschool.
All in good time. Definitly wouldn't recommend this project as a means of learning anything about C++. If anything, it's more of a basis of using C++ to create fancy "hacks" to manipulate black box software. "Advance" stuff, but have fun with C++ in school and hope you can use the knowledge to come up with something :)


I opened it and got really confused because its a whole bunch of coding files but then I realized... im not a coder, so I can't enjoy it to it's full potential.

Thanks korn, you've given us a great gift.
Thanks, it's always been about providing for the community. As a tool maker, you guys are my target audience and I must heed to your whims however small or big they be. While true the SDK is more so for programmers, I tried to also supply utilities for map makers in general. For now, thats only really apparent with the upgrades made to the HEK in terms of memory limits and globals tag overriding (a feature I'm really thankful to be able to provide). There are some other things which I have laying around which would suite the just-map-makers, but I'm not quite savvy with their current state yet (not much in ways of a GUI front-end for most of them).

The SDK raises the bar a mod team can reach to, assuming they can bring aboard a programmer. With a programmer they can implement new gameplay mechanics and provide their designers with new scripting functions and globals to take advantage of. I just wish I had more time to plan ahead for the version conflict potentials with multiple Yelo code releases. Well, would be nice to have more time, or more seasoned help, in general lol.

EDIT:
I'm no coder, but if we use the d3d9.dll that you've hosted and we put it in the halo folder and start up the game... yelo batter would work and the hud wouldn't be stretched? I realize the sdk is good for coders, but I read "battery" and though about it.

If you put it in your game directory, yes, some of the features from Yelo - Battery will be there (in-game menu, press F7). I was able to keep HUD Ratio and HUD enable/disable in, but the other HUD options conflicted with hud-chat logging and I didn't have enough time to implement a new chat logging system to work with Battery's old HUD message options. However, I did leave in the code to loading\saving those options just in case they return...

boogerlad
August 26th, 2009, 12:20 AM
Just what I needed. Thanks for your hard work!

EDIT: scaling does not work. When I activate scaling, all that happens is that my hud squishes. i'm at 1440*900, 60hz, windowed mode, debug and console on if that makes any difference.

jcap
August 26th, 2009, 01:09 AM
I just wanted to post something extra.

This release comes with an updated version of the HEK. It expands on Kornman's previous three releases which unlocked many features not included in the official HEK. This updated HEK now supports all of the things from his unlocked HEK, PLUS support for Open Sauce. Additionally, some stability and incompatibility issues have been fixed.

Now, even if you don't know how to code, you can still take advantage of the unlocked HEK (so many more options) and the new OS support, such as the ability to have multiple cache files to reduce the overall size of a map. Many of the OS HEK features don't even require your audience to have the OS DLL. You only need the DLL if using an Open Sauce-specific feature.

I put together a RAR that is separate from the full SDK. The contents of this archive are really just from the "bin" folder in the SDK RAR, but I thought it might be good to break them up so someone who is looking for an unlocked HEK doesn't get confused by that download. I included the dedicated server in case someone wishes to compile an OS map and host it on a server.

http://files.modacity.net/apps/opensauce/OS_HEK_RC1.rar

Kornman00
August 26th, 2009, 01:24 AM
EDIT: scaling does not work. When I activate scaling, all that happens is that my hud squishes. i'm at 1440*900, 60hz, windowed mode, debug and console on if that makes any difference.
I don't have a crazy widescreen to test the 4:3 hud scaling. I just tested it in game and noticed that it squished the GUI in a way that looked like it applied to widescreen folks and just gave it blind faith. I could have made a coding error when porting the Battery code, I'll have InnerGoat test it later.

Ganon
August 26th, 2009, 01:31 AM
http://files.modacity.net/apps/opensauce/OS_HEK_RC1.rar

link does not work

e: now it does

Siliconmaster
August 26th, 2009, 01:34 AM
I don't have a crazy widescreen to test the 4:3 hud scaling. I just tested it in game and noticed that it squished the GUI in a way that looked like it applied to widescreen folks and just gave it blind faith. I could have made a coding error when porting the Battery code, I'll have InnerGoat test it later.

K, thanks. I got the .dll working, and noticed the same thing. Instead of "de-stretching it", it stretches it in a completely different direction. Lol.

Delta4907
August 26th, 2009, 03:26 AM
Do you think you can enable dual-core support? I mean, I can work around this, I had it so when Sapien started and automatically setted the Affinity to just one cpu, but in doing so, the windows (game window, properties, hiearchy etc..) reset every time and I have to the move them into the comfortable positions each time it's loaded up. It'd be wonderful if you did this.

Cortexian
August 26th, 2009, 03:38 AM
Cool, the Yelo dll actually lets me load the game now, and if I'm not mistaken it has an nVidia card Active Camo fix built in.

Rambo
August 26th, 2009, 04:45 AM
How do I switch lightmaps from one to another on the BSP?

May I make a suggestion for a new set of commands?

structure_lightmap_index allows you to specify an index in an if statement for testing purposes (true / false)
switch_lightmaps switches the lightmap on the BSP in the same way switching a BSP works

Kornman, I need these commands to further my level, as 16 BSPs is atrociously big. If I could get it down to two (one with 64 Lightmaps for daytime and one with 64 Lightmaps for night time) it wold really help us.

Here's how the commands would work.

(if (= (structure_lightmap_index morning1) true)
(begin
(sleep 900)
(switch_lightmap morning2)
)
)

Since updated Netcode isn't working, with biped kills, this could be synchronized in the same way as BSP switches. However, for the most efficient gameplay with the least amount of lag, somebody needs to get that Netcode issue resolved. This would also resolve device syncing problems, which I have noticed still exist (not that it's a bad thing).

Anyway, it would be nice to be able to switch Lightmaps on-the-fly the same way switching BSPs works. I know this was a rushed (?) release; however, for the final that's slated for two weeks away, can we please have those features?

Also, is Recorded Animation reenabling at all possible? Some buddies and I were wondering about this, especially seeing as I'm trying to make a custom campaign that requires certain vehicle movements with AI in it and layers later on. I tried creating them in Sapien but to no avail.

If we could get those back online it would rock.

Oh, before I go, I wanted to take this time to persoanlly thank you for the Lightmap / BSP increase implementation. Those features will really be helpful for Blood Creek RC3. Of all the features that Open Sauce 2 has to offer (besides the multi-team vehicles), THAT is the most important feature to me. Having the skies and lightmaps and BSP limitations extended is a real plus.

Again, thank you very much. Even if we could work something out where I can get hold of an expansion to OS2 that supports these new commands, I'd greatly appreciate it. I really need these Lightmap switch functions and test commands in order to complete my work on RC3.

Cortexian
August 26th, 2009, 06:21 AM
The Yelo Battery dll doesn't seem to work when I use the "-vidmode" command.

FRain
August 26th, 2009, 08:38 AM
Also, is Recorded Animation reenabling at all possible? Some buddies and I were wondering about this, especially seeing as I'm trying to make a custom campaign that requires certain vehicle movements with AI in it and layers later on. I tried creating them in Sapien but to no avail.

I may not be correct, but I believe the whole system for recorded animations was compeletely ripped out of the Halo CE code when it was released.

Kornman00
August 26th, 2009, 08:45 AM
This is a RC. It serves the purpose of finding unencountered issues with a broader user base and provide feed back. I'm not saying there will be any new additions to the SDK in two weeks. I'm just using these two weeks as a grace period for data mining and if I manage to finish any unsolved features then I may add them in.

I implemented a starting point in the project yellow tag for someone else to finish multiple lightmaps per bsp. I'm more concered about working on proper documentation rather than a new feature which only really applies to one mod as it stands. It's not even know if switching the lightmap will even work or look as expected. I only said that I would look into how to go about the ideas brought up in the Ideas Thread, not fully implement them.

Hunter
August 26th, 2009, 09:07 AM
I get this error when I try to open tags using the OS HEK tools.
http://i58.photobucket.com/albums/g268/martynball/os_guerliia_error.jpg

Also, when I try to excecute os_toolbeta I get an error saying I am missing "vorbisenc.dll". Full message says:

"The program can't start because vorbisenc.dll is missing from your computer. Try reinstalling the program to fix this problem."

I do not have the origional HEK installed, I am guessing that may fix my second error message. But I am sure I have had the first error message before when using the origional HEK, it is something to do with Microsoft Office.

Edit: I exceptioned when I opened haloce.exe with the OS .dll in my root directory. I used the one which you posted in your second post Korn.

Kornman00
August 26th, 2009, 09:56 AM
You need the VC++ 8 redist: http://www.microsoft.com/DOWNLOADS/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en

Probably be smart if you downloaded 9 too: http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en

You need the HEK installed in order to use the tools, that should be a given.

I need more information than just saying that it exceptions. As I said earlier: Consult the old problems thread (http://www.modacity.net/forums/showthread.php?t=16052).

boogerlad
August 26th, 2009, 10:01 AM
I don't have a crazy widescreen to test the 4:3 hud scaling. I just tested it in game and noticed that it squished the GUI in a way that looked like it applied to widescreen folks and just gave it blind faith. I could have made a coding error when porting the Battery code, I'll have InnerGoat test it later.

you don't need a widescreen monitor. YOu just have to go to vidmode, set a widescreen resolution, and put it as -window. Then that'll be like playing on widescreen.

Masterz1337
August 26th, 2009, 10:20 AM
The test dll doesn't work for me, but like you said, use at your own risk. The updated tools won't allow me to open up any tags, because of tortoise svn, but uninstalling it should probably fix that.

Kornman00
August 26th, 2009, 10:39 AM
As I said earlier: Consult the old problems thread (http://www.modacity.net/forums/showthread.php?t=16052) and post the exception data.

Whats the issue with your SVN client? Are the resources checked in or something? The HEK should open the tags as read-only and work fine still (as long as the operation isn't write-related, ie importing)

EDIT:

On XP, I believe there is a way to save the Exception Data of which it notoriously Gathers. Try clicking the "View Details" linkish looking thing (IIRC) and see if it lets you.

On Vista its a little different. This difference actually made developing hacks like Yelo more time consuming to debug on my end as the amount of steps involved.
1) Control Panel->Problem Reports and Solutions->View problem history
2) Find HaloCE (or it may be the name of the dll, dx3d9.dll or w/e)
3) Right click->View problem details.
4) Copy to clipboard & pasta in your post
5) ???
6) Fix?
7) Deficit

Masterz1337
August 26th, 2009, 11:06 AM
I don't actually get an exception, once the game is about to bring me to the main menu, it closes and says halo has encountered a problem and needs to close.

for the SVN client, I never use it, I installed it for when i was working with a UT3 team a while back, and never uninstalled it when I left. This is the first time it's ever interfere with anything, my normal HEK tools work fine, it's just any of the OS ones which gives me a problem.

jcap
August 26th, 2009, 11:29 AM
I don't actually get an exception, once the game is about to bring me to the main menu, it closes and says halo has encountered a problem and needs to close.

for the SVN client, I never use it, I installed it for when i was working with a UT3 team a while back, and never uninstalled it when I left. This is the first time it's ever interfere with anything, my normal HEK tools work fine, it's just any of the OS ones which gives me a problem.
Kornman, Masters told me on AIM that the file which was giving him problems is msvcp90.dll. I don't see how it could be a conflict with another app, though. I didn't ask if he installed the redist package yet.

Masters, even though Halo doesn't pop up with an exception, you can still post the error details in a quote here (WINDOWS VISTA AND 7 ONLY). Click Start and type in "problem reports" and you should see a shortcut to a program for something containing that phrase. Open it up and locate the haloce process. Right click > View technical details. Copy everything and post it in a quote. (Edit: Oh wait Kornman had that in his post.)

Rhydgaled
August 26th, 2009, 12:07 PM
Visual C++ won't open it and mentions somthing about different versions of Visual C++. Has Kornman used a different version to the 2005 version that was required for the 20081116_1350EST.rar release? Kornman stated which version of Visual C++ you needed in his release post then, not so this time.

Rosco
August 26th, 2009, 12:26 PM
I guess I should say thanks for the shout out?

:D

FireScythe
August 26th, 2009, 02:50 PM
Excellent work :D. Plenty here for people to bug you about.

Had a problem with the shader_postprocess_collection in guerilla, as adding a second effects block made it crash with "error: couldn't resize tag data" in the debug.txt.
Also the "afxres.h" header file included in Halo1_CE.rc isn't included with VC++ Express as it doesn't support MFC (apparently (http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/6ef3525a-776a-4c45-bd22-c9b8898ff9d0)), so is it a necessary header or can it be omitted?

EDIT: If CheApe has a project open and you close OpenSauceIDE it asks if you want to save your project twice and exceptions with the following in the debug.log:


26/08/2009 22:14:32 OpenSauceIDE 1.0.0.0 ----------------------------------------------
26/08/2009 22:14:32 Unreachable case!
'':Boolean ScriptingCacheClose(BlamVersion) @ 0
26/08/2009 22:14:32 A thread caused an unhanded exception (System.Threading.Thread).
Debug.Exceptions+UnreachableException: Exception of type 'Debug.Exceptions+UnreachableException' was thrown.
at Blam.Halo1.GameDefinition.ScriptingCacheClose(Blam Version game)
at CheApe.ProjectState.*gt™žgf“r‰dŸw j*(Object , BlamVersion game)
at CheApe.ProjectState.Dispose()
at CheApe.Project.™2roožˆj‘v–8m”˜œd(O bject )
at CheApe.Project.Dispose()
at Blam.Halo1.CheApe.Project.‡xˆdbrŒ–30œfm•f 74œ8(Object )
at Blam.Halo1.CheApe.Project.Close(Boolean save, Project proj)
at Blam.Halo1.CheApe.Project.Interface.45œŽ*dŒœ si•–r6cdš‹(Boolean save, Object )
at Blam.Halo1.CheApe.Project.Interface.Close(Boolean save, Project project)
at OpenSauceIDE.CheApe.1OITm5hUbU(Object , FormClosingEventArgs ) in C:\Mount\B\Kornner\Tools\OpenSauceIDE\CheApe.cs:li ne 66
at System.Windows.Forms.Form.OnFormClosing(FormClosin gEventArgs e)
at System.Windows.Forms.Form.WmClose(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)It doesn't do this if you close CheApe first and then OpenSauceIDE.

Also CheApe will exception and close if the xml being built isn't right:

26/08/2009 22:18:29 OpenSauceIDE 1.0.0.0 ----------------------------------------------
26/08/2009 22:18:29 Unhanded exception (Name:DefaultDomain
There are no context policies.
). Terminating...
System.Xml.XmlException: Name cannot begin with the '<' character, hexadecimal value 0x3C. Line 20, position 9.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res, String[] args)
at System.Xml.XmlTextReaderImpl.ParseAttributes()
at System.Xml.XmlTextReaderImpl.ParseElement()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at System.Xml.XmlDocument.Load(String filename)
at IO.XmlStream..ctor(String path, Object owner)
at CheApe.Import.ProcessFile(ProjectState state, String file)
at CheApe.Project.qmo›9ižŸfŒœ5430cqdl(Object , Object , Object )
at CheApe.Project.Import()
at CheApe.Project.Build(Boolean reimport)
at CheApe.Project.Build()
at System.Threading.ThreadHelper.ThreadStart_Context( Object state)
at System.Threading.ExecutionContext.Run(ExecutionCon text executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Kornman00
August 26th, 2009, 09:48 PM
You need VS2008 to edit the source. I'm sure you can edit the solution and project files back to the 05 format without too much hassle.

Change shader_postprocess_effect_source_code_data's "isTextData" attribute to false (or just remove it) and rebuild your CheApe project. Of course then you'll have to use that old TagInterface lib if you want to do anything with those tags...I'll see if I can figure out whats causing the problem and if I can fix it later.

Yes, you can exclude the .rc and afxres.h from your project. The only reason I had them setup was so you could include version information in your DLL.

Coincidently, the only way I ever exited OSIDE when testing was by closing CheApe first...guess subconsciously I didn't want to face the pending doom lol. I'll fix that case for the final.

Just checked my code and realized the import process only was checking for my library's own internal base Exception type being thrown, so I'll be sure to extend it to check for any type of Exception.

EDIT: also (to anyone), if you're receiving ANY problems with the tools, please include exception information. If you can't copy the exception information, at least to a print-screen of the message. It's the only way to help me track the problem remotely or try to reproduce it to debug it!

Kornman00
August 27th, 2009, 01:29 AM
Check bottom of the first post for an updated test DLL.

Siliconmaster
August 27th, 2009, 01:44 AM
Now instead of squashing in another direction, the hud just moves about 4 pixels. No change in shape or size.

As for the .dll itself, it works fine with basic CE, but if I use a shortcut with -vidmode 1680, 1050, 60 it loads with only the fog color as the screen. I.e. the library ui is a solid dark blue with the menu choices, and maps are light gray or so on.

Kornman00
August 27th, 2009, 04:54 AM
Do you still see your FP weapons in-game? If not, what is the FOV value in your settings file?

EDIT: odd, if you use those settings then go in-game then go to edit your FOV, it fixes it. time to check the code I ported once again...

Siliconmaster
August 27th, 2009, 10:20 AM
Oh, interesting. I didn't catch that. Glad I'm not the only one with that issue and that it's re creatable.

Kornman00
August 27th, 2009, 11:14 AM
I think I have a fix for all the current Battery feature issues. Waiting for jcap to get online so I can have him test it.


As a note to OpenSauce HEK users: while reviewing some old code in the library that drives OpenSauceIDE I saw a potential problem. However the fix somewhat breaks the current public cheape_project files. While I could easily add a new versioning case to the file for backwards compatibility, it would require me to keep some old code, used no where else now, which I'd prefer to not do. This is a RC and doesn't represent the final product (so I can get away with this kind of stuff for now ;p). With that said, you'll have to redo your cheape_project files for the final tools. Not a real biggy.

boogerlad
August 27th, 2009, 05:45 PM
can't you post the updated dll anyways? (not trying to rush you)

Kornman00
August 28th, 2009, 12:13 AM
I wasn't going to post it until I knew it was good to go. Like I said, the posted DX DLL is unsupported, so don't expect problems to be addressed by me same day.

New dll in the first post

Siliconmaster
August 28th, 2009, 12:21 AM
Beautiful. I missed out on the original battery, so this is the first time I have ever played in widescreen with a non-stretched HUD. Much thanks. As I'm sure you know already, the blue fog/wtf issue is also fixed. W00t.

Cortexian
August 28th, 2009, 12:27 AM
Is it possible to "integrate" what you've got in your d3d9.dll into another d3d9.dll? I know a few people that would love to have a Yelo Battery + SoftTH d3d9.dll...

Kornman00
August 28th, 2009, 12:32 AM
In theory, if SoftTH's design just acts as a proxy as well, unlike xfire which actually modifies DX code.

Cortexian
August 28th, 2009, 02:54 AM
In theory, if SoftTH's design just acts as a proxy as well, unlike xfire which actually modifies DX code.
:ugh:

SoftTH d3d9.dll (http://freelancer.lancersedge.com/downloads/d3d9.dll)
All of SoftTH 1.08 (http://freelancer.lancersedge.com/downloads/SoftTH108b.zip)

Kornman00
August 28th, 2009, 03:23 AM
I added some code earlier to make Yelo try to load a 'd3d9_proxy.dll' first, and if that fails, loads the real DX's dll. I'll send it to you on AIM to test it out before I post it for download

FRain
August 28th, 2009, 10:01 AM
I get this error when I try to open tags using the OS HEK tools.

(snip)

Also, when I try to excecute os_toolbeta I get an error saying I am missing "vorbisenc.dll". Full message says:

"The program can't start because vorbisenc.dll is missing from your computer. Try reinstalling the program to fix this problem."

I do not have the origional HEK installed, I am guessing that may fix my second error message. But I am sure I have had the first error message before when using the origional HEK, it is something to do with Microsoft Office.

Edit: I exceptioned when I opened haloce.exe with the OS .dll in my root directory. I used the one which you posted in your second post Korn.


I'm getting this too, except I installed the redist.

It happens at the open screen if I try to select something to open.

Masterz1337
August 28th, 2009, 11:03 AM
new dll works fine, although I got some freezing at first.

boogerlad
August 28th, 2009, 11:35 AM
the new d3d9.dll doesn't work for me. Pressing f7 does nothing anymore.

Kornman00
August 28th, 2009, 02:49 PM
If pressing F7 while in-game doesn't bring up the menu then Yelo isn't being loaded. I need more information in order to figure out why its not loading

I'm getting this too, except I installed the redist.

It happens at the open screen if I try to select something to open.
You're getting what too? He mentions tool and haloce having problems and you talk about opening something...

boogerlad
August 28th, 2009, 04:05 PM
What can I do to help you track this bug? It worked with the first dll.

Kornman00
August 28th, 2009, 04:07 PM
EDIT: well, are you sure the new d3d9.dll is in same directory as the haloce.exe you're trying to run is?

Doesn't appear SoftTH is working with Yelo.



Had a problem with the shader_postprocess_collection in guerilla, as adding a second effects block made it crash with "error: couldn't resize tag data" in the debug.txt.

Figured out the problem. Change the xml attribute data for the data definition from "max" to "maxSize" ;x

jcap
August 28th, 2009, 04:37 PM
http://jcap.h2vista.net/files/halo/screenshots/softth/SoftTH_17066680.jpg

:neckbeard:

klange
August 28th, 2009, 04:50 PM
:gonk:
"Cannot allocate the required memory. Some other application has loaded where Halo needs to be located."
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Kornman00
August 28th, 2009, 05:00 PM
Sounds like the IE update error (supposedly). Why do you have IE on your computer :raise:?

Also, new DX dll in OP. Rename your SoftTH's "d3d9.dll" to "d3d9_proxy.dll" to have it run along side Yelo. Don't cry to me if you have problems running both though.

boogerlad
August 28th, 2009, 05:12 PM
Maybe it's a issue with my computer. Reformatting.

klange
August 28th, 2009, 05:14 PM
Trying the native Windows DX hacks, maybe they'll help get this running in the classic replacement "mode"...

Siliconmaster
August 28th, 2009, 05:15 PM
:gonk:
"Cannot allocate the required memory. Some other application has loaded where Halo needs to be located."
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Yeah, it's either IE if you're using the default halo program, or it's DXtweaker- that program now gives me the same error with OS.

klange
August 28th, 2009, 05:28 PM
Yeah, it's either IE if you're using the default halo program, or it's DXtweaker- that program now gives me the same error with OS.
I'm not even on Windows. I don't even have IE (or DXtweaker). Sounds like a very general problem with numerous causes.
(And for the record, it's not something I did, as all the U#1 versions work fine)

InnerGoat
August 28th, 2009, 05:34 PM
http://jcap.h2vista.net/files/halo/screenshots/softth/SoftTH_17066680.jpg

:caruso:


Sounds like the IE update error (supposedly). Why do you have IE on your computer :raise:?

Also, new DX dll in OP. Rename your SoftTH's "d3d9.dll" to "d3d9_proxy.dll" to have it run along side Yelo. Don't cry to me if you have problems running both though.

holy shit this fukken owns you own

Hunter
August 28th, 2009, 06:00 PM
haloce.exe still exceptions when the .dll is in my root directory... How do I find the error code?

And just so you know, I am running Windows 7 with DirectX11 according to dxdiag.

Kornman00
August 28th, 2009, 06:21 PM
On XP, I believe there is a way to save the Exception Data of which it notoriously Gathers. Try clicking the "View Details" linkish looking thing (IIRC) and see if it lets you.

On Vista its a little different. This difference actually made developing hacks like Yelo more time consuming to debug on my end as the amount of steps involved.
1) Control Panel->Problem Reports and Solutions->View problem history
2) Find HaloCE (or it may be the name of the dll, dx3d9.dll or w/e)
3) Right click->View problem details.
4) Copy to clipboard & pasta in your post
5) ???
6) Fix?
7) Deficit
.

Cortexian
August 28th, 2009, 06:27 PM
haloce.exe still exceptions when the .dll is in my root directory... How do I find the error code?

And just so you know, I am running Windows 7 with DirectX11 according to dxdiag.
Obviously need a d3d11.dll!

Hunter
August 28th, 2009, 06:36 PM
Here is what I got;


Source
Halo

Summary
Stopped working

Date
*22/*07/*2009 12:29

Status
Not reported

Description
Faulting Application Path: C:\Program Files (x86)\Microsoft Games\Halo Custom Edition\haloce.exe

Problem signature
Problem Event Name: APPCRASH
Application Name: haloce.exe
Application Version: 1.0.8.616
Application Timestamp: 489a3b7e
Fault Module Name: haloce.exe
Fault Module Version: 1.0.8.616
Fault Module Timestamp: 489a3b7e
Exception Code: c0000005
Exception Offset: 00069647
OS Version: 6.1.7100.2.0.0.256.1
Locale ID: 2057

Advancebo
August 28th, 2009, 06:37 PM
http://jcap.h2vista.net/files/halo/screenshots/softth/SoftTH_17066680.jpg

:caruso:

cheater ):

Cortexian
August 28th, 2009, 07:07 PM
I was able to run Xfire with the latest version of Yelo with these command line arguments:

-console -window -vidmode 1280,800,59

I wasn't able to get it working a second time though... Damnit jfap, I want my triple monitor setup!

Kornman00
August 28th, 2009, 07:12 PM
Hunter, you say this exceptions at startup, are you using a stock ui.map?

Hunter
August 28th, 2009, 07:27 PM
Yes, I have not customized Halo CE since installation. And I am sure it is updated, I will check now.

And when I mean startup I mean, right at the start, no loading graphic comes up or anything.

Edit: yes, game is upto date, 1.08.

jcap
August 28th, 2009, 07:32 PM
Hunter,

Does the original d3d9 (OS 1) work?

Are you making sure that you aren't running Xfire?

Since you're on Windows 7, you need to access the problem reports by clicking Start, then typing in "view all problem reports". Find Halo, find the most recent crash, and copy that here.

Also, if you hold down the control key while launching Halo, does it crash right at that dialog, or after you continue and you hit the loading screen (or the screen flashes)?

shadowslayer123
August 28th, 2009, 07:53 PM
i dont get it, how do you install all this

Cortexian
August 28th, 2009, 08:26 PM
I'm not sure if this is new or not as I didn't take notice of it before, but the latest d3d9.dll causes my text input area (they gray bar at the bottom of your screen when typing) to blank out. Whenever I type anything it doesn't show up in the input area, but it shows in the chat area on screen when I hit enter.

klange
August 28th, 2009, 08:29 PM
I'm not sure if this is new or not as I didn't take notice of it before, but the latest d3d9.dll causes my text input area (they gray bar at the bottom of your screen when typing) to blank out. Whenever I type anything it doesn't show up in the input area, but it shows in the chat area on screen when I hit enter.
What resolution are you running at? That's a typical problem for almost everyone.

Cortexian
August 28th, 2009, 08:35 PM
What resolution are you running at? That's a typical problem for almost everyone.
1280x800 or 1920x1200.

jcap
August 28th, 2009, 08:37 PM
1280x800 or 1920x1200.
Neither of those resolutions are supported by Halo's kext files. You'll need to edit them manually to adjust the position of the text on the screen.

Even without OS you'd have a problem. It's just CE.

Cortexian
August 28th, 2009, 08:58 PM
Neither of those resolutions are supported by Halo's kext files. You'll need to edit them manually to adjust the position of the text on the screen.

Even without OS you'd have a problem. It's just CE.
Nope, since I just tried and it works fine on 1920x1200. Also, why doesn't the HUD stretching save/load automatically if you choose to use it.

Kornman00
August 28th, 2009, 09:40 PM
Also, why doesn't the HUD stretching save/load automatically if you choose to use it.
Clear indication that you're not using the newest version

OmegaDragon
August 29th, 2009, 01:39 AM
Very interesting release i might add! i will be looking deeply into this once my C skills increase. Still thinking someone should make a dll that will add more characters to the name though ^^

Jelly
August 29th, 2009, 06:03 AM
Would it be possible for an OS DLL to fix the text glitches that happen when you minimize?

Also, in the latest version you can load two plugins if one is called d3d9_proxy.DLL. Would it be possible to load multiple plugins like this? Or maybe make an application that creates a custom DLL which chain loads the selected DLLs?

I'm currently using yelo and post-processing, which are the (only?) best two plugins for me, but if there's more releases in the future, and I have no knowledge of how to compile a DLL, it would be annoying to have to drop post processing every time I want to try out a new plugin.

Dwood
August 29th, 2009, 06:35 AM
Also, in the latest version you can load two plugins if one is called d3d9_proxy.DLL. Would it be possible to load multiple plugins like this? Or maybe make an application that creates a custom DLL which chain loads the selected DLLs?


Yeah but Korn doesn't support doing that.

Kornman00
August 29th, 2009, 07:59 AM
Still thinking someone should make a dll that will add more characters to the name though ^^
Not going to happen

Also, in the latest version you can load two plugins if one is called d3d9_proxy.DLL. Would it be possible to load multiple plugins like this? Or maybe make an application that creates a custom DLL which chain loads the selected DLLs?

I'm currently using yelo and post-processing, which are the (only?) best two plugins for me, but if there's more releases in the future, and I have no knowledge of how to compile a DLL, it would be annoying to have to drop post processing every time I want to try out a new plugin.
I only added that second d3d9 proxy feature for SoftTH use. I didn't add it for loading another Yelo module. You shouldn't be using it to load another Yelo module as conflicts will happen in the game code.

Requiring people to make their works open source (as the license requires) enables other developers to add a foreign project's features into their own modules, along with providing examples for new beginners to the OS SDK (but not necessarily beginners to programming...).

As long as developers don't mess with the module's base code, you'll still have things like hud scaling and custom weapon views with their's.

Hunter
August 29th, 2009, 10:16 AM
Hunter,

Does the original d3d9 (OS 1) work?

Are you making sure that you aren't running Xfire?

Since you're on Windows 7, you need to access the problem reports by clicking Start, then typing in "view all problem reports". Find Halo, find the most recent crash, and copy that here.

Also, if you hold down the control key while launching Halo, does it crash right at that dialog, or after you continue and you hit the loading screen (or the screen flashes)?

I will check and try them things when I get home later, going out at 5:30.

FRain
August 29th, 2009, 12:29 PM
Here's the error I'm getting:

"Excecutable 'C:\Program Files\Microsoft Games\Halo Custom Edition\OS_guerillabeta.exe' had the following unrecoverable error: Couldn't find library MSVCR80.DLL (required by C:\Program Files\Common Files\Adobe\Acrobat\ActiveX\PDFShell.dll) Please ensure that it is enabled."

Rhydgaled
August 29th, 2009, 01:01 PM
Can't compile the code myself yet, but I have a problem to report with the .dll on the first post. When I try to start HALO with the old (Visual C++ 2005 compatible) OpenSauce d3d9.dll (still the one I compiled myself I think) it works and I can use the gravity function. When I removed that and dropped the new dll in instead the game didn't have the gravity fuction and F7 did nothing too, but then I noticed you have to rename it to d3d9.dll so I did and now I get an error message containing the words "d3dx9_40.dll was not found." I looked in the troubleshooting thread and saw there was a d3dx9_37 missing problem when the .dll was not compiled under release settings (whatever release settings means, don't know much about C++ or Visual studio.) With the old version I didn't ever get either of those errors.

The reason I can't complie the code is I have to wait til college starts again so I can download the newer version of Visual C++ Pro (thanks to college I can get it free). I can't download it here because my internet isn't fast enough and when I'm downloading stuff it tends to time-out alot. I just hope they don't remove that version of C++ from the list of free software for an even newer one, they already removed Access 2003 for Access 2007.

Kornman00
August 29th, 2009, 01:07 PM
You need the latest DX redist...

jcap
August 29th, 2009, 01:11 PM
Here's the error I'm getting:

"Excecutable 'C:\Program Files\Microsoft Games\Halo Custom Edition\OS_guerillabeta.exe' had the following unrecoverable error: Couldn't find library MSVCR80.DLL (required by C:\Program Files\Common Files\Adobe\Acrobat\ActiveX\PDFShell.dll) Please ensure that it is enabled."


Can't compile the code myself yet, but I have a problem to report with the .dll on the first post. When I try to start HALO with the old (Visual C++ 2005 compatible) OpenSauce d3d9.dll (still the one I compiled myself I think) it works and I can use the gravity function. When I removed that and dropped the new dll in instead the game didn't have the gravity fuction and F7 did nothing too, but then I noticed you have to rename it to d3d9.dll so I did and now I get an error message containing the words "d3dx9_40.dll was not found." I looked in the troubleshooting thread and saw there was a d3dx9_37 missing problem when the .dll was not compiled under release settings (whatever release settings means, don't know much about C++ or Visual studio.) With the old version I didn't ever get either of those errors.

The reason I can't complie the code is I have to wait til college starts again so I can download the newer version of Visual C++ Pro (thanks to college I can get it free). I can't download it here because my internet isn't fast enough and when I'm downloading stuff it tends to time-out alot. I just hope they don't remove that version of C++ from the list of free software for an even newer one, they already removed Access 2003 for Access 2007.
Did you both install the Microsoft Visual C++ 2005 Redistributable?
x86: http://www.microsoft.com/Downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en
x64: http://www.microsoft.com/Downloads/details.aspx?familyid=90548130-4468-4BBC-9673-D6ACABD5D13B&displaylang=en

FRain
August 29th, 2009, 01:34 PM
Yes.

Kornman00
August 29th, 2009, 02:10 PM
Have you tried uninstalling\reinstalling Adobe 8)

EDIT: Like I told jcap, this problem isn't new:
http://www.modacity.net/forums/showthread.php?t=5284&highlight=MSVCR80

taterSALAD
August 29th, 2009, 04:43 PM
Okay, so I'm a complete noob to OpenSauce.

I am trying to get Yelo Battery from the source code. I do not know what I am supposed to build to get it.


Included is also a new version of Yelo Battery to provide an example of the possibilities of the SDK. Battery can fix the aspect ratio of the HUD on widescreen monitors, adjust the field of view (FOV), and modify weapon placement (anywhere you want the weapon to be held on your screen). There is also full chat logging saved right in your Halo profile folder.I am on VS2008 that I got from college.

:neckbeard:

ShadowSpartan
August 29th, 2009, 04:59 PM
Okay, so I'm a complete noob to OpenSauce.

I am trying to get Yelo Battery from the source code. I do not know what I am supposed to build to get it.

I am on VS2008 that I got from college.

:neckbeard:
When you compile the project, it will create a "d3d9.dll" in your bin folder. Copy that dll into your Halo CE directory, then run Halo. Make sure you are running version 1.08 of CE, since that is the only version OS is compatible with.

If I recall correctly, pressing F7 ingame will open the Yelo Battery menu.

jcap
August 29th, 2009, 05:05 PM
If you just want to use Yelo Battery, you don't need to compile it from source. The source that is currently available for download is only from RC1 and does not contain the recent bug fixes.

The d3d9.dll available for download at the bottom of his post is the compiled version with the most recent fixes. The source code for that will be released with RC2.

FRain
August 29th, 2009, 05:10 PM
Okay, guerilla is working now, and Sapien is asking me for a d3dx9_40.dll now.

taterSALAD
August 29th, 2009, 05:28 PM
After installing d3d9.dll into the CE root, getting lots of issues.


Game won't even load sometimes. Windows 7 will end Aero to start the game, but it will load right back up after the game crashes.
After a few initial crashes, the game starts in safe-mode, with horrible quality graphics.
After a few more crashes, the game starts in normal-mode, and throws an exception upon joining a server.

Here's the data, per request.


Faulting application name: haloce.exe, version: 1.0.8.616, time stamp: 0x489a3b7e
Faulting module name: d3d9.dll, version: 2.0.0.1, time stamp: 0x4a984fec
Exception code: 0xc0000005
Fault offset: 0x000067ca
Faulting process id: 0xae94
Faulting application start time: 0x01ca28f61d4eac43
Faulting application path: D:\Program Files\Microsoft Games\Halo Custom Edition\haloce.exe
Faulting module path: D:\Program Files\Microsoft Games\Halo Custom Edition\d3d9.dll
Report Id: 6b0bc164-94e9-11de-b6f6-001676bf3a2eEDIT: Found that Xfire was throwing the exception, as said in the Event Viewer and other people on the forum. :P If only it worked with Xfire. |:

jcap
August 29th, 2009, 05:32 PM
Okay, guerilla is working now, and Sapien is asking me for a d3dx9_40.dll now.
Did you install the latest version of DirectX? http://www.microsoft.com/downloads/details.aspx?FamilyId=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3&displaylang=en

What did you do to get it working? Did you just reinstall Adobe Reader?

Cortexian
August 29th, 2009, 06:48 PM
Use Acrobat instead of Reader, problem solved. :downs:

FRain
August 29th, 2009, 09:41 PM
Okay, so I got that all working, and then I made my project_yellow tag and my project_yellow_globals tag which included me setting the biped camera to third person loose (deathcam). I wanted to try this out so I referenced the project_yellow_globals tag to my project_yellow tag, and the project_yellow tag to my scenario, and compiled it with OS_toolbeta.exe
I got the whole "this is a kludge" error, so I removed it from my directory and compiled it, moved it back and when I spawned ingame it was just FP.
I put the d3d9.dll back into the folder and then ignored the whole "kludge" error. I went ingame and it was still FP.

Kornman00
August 29th, 2009, 10:02 PM
because I never got around to implementing that...

FRain
August 29th, 2009, 11:24 PM
Oh, okay.

Advancebo
August 30th, 2009, 04:34 PM
Product
Halo

Problem
Stopped working

Date
8/30/2009 5:30 PM

Status
Report Sent

Problem signature
Problem Event Name: APPCRASH
Application Name: haloce.exe
Application Version: 1.0.8.616
Application Timestamp: 489a3b7e
Fault Module Name: d3d9.dll
Fault Module Version: 2.0.0.1
Fault Module Timestamp: 4a984fec
Exception Code: c0000005
Exception Offset: 00016686
OS Version: 6.0.6001.2.1.0.768.3
Locale ID: 1033

Extra information about the problem
Bucket ID: 1439092421

Kornman00
August 30th, 2009, 05:16 PM
Next time post more information than just the exception data :|

I need to know if you were running xfire, SoftTH, DXTweeker etc etc.

Advancebo
August 30th, 2009, 06:36 PM
I dont know what any of those are, and I exited Xfire 15 minutes before I ran halo.

Kornman00
August 30th, 2009, 08:01 PM
have you tried running it since this last crash? if not, give it three more tries

English Mobster
August 30th, 2009, 08:18 PM
What does the OS_haloceded do? I take it it's just a dedi which can run Open Sauce? Are there any other special features to it?

Advancebo
August 30th, 2009, 08:56 PM
have you tried running it since this last crash? if not, give it three more tries

Still exceptions.

chrisk123999
August 31st, 2009, 09:55 AM
Happens when I click Open or Save.
-Snip- Imaged redirected to a different one...
This dll is from Autodesk Inventor 2010 Professional.

Also, TortoiseSVN will cause Guerilla to do something like this as well. And Open Office will cause Guerilla to get a similar error when you right click while on the open and save screen (like when trying to make a new folder).

Kornman00
August 31st, 2009, 10:24 AM
I used to have TSVN installed, but don't recall if I ever ran the HEK while it was installed so I can't say if I ever had a problem with it.

http://www.modacity.net/forums/showt...hlight=MSVCR80 (http://www.modacity.net/forums/showthread.php?t=5284&highlight=MSVCR80)

I'm pretty sure the problem stems from how I package the tools, but thats the only solution I can offer at this time. If it was a more widespread problem I would have tried harder for a solution but its not something that pressing to me as there are work arounds.

chrisk123999
August 31st, 2009, 11:06 AM
I can't uninstall it. I need it for school...

Kornman00
September 6th, 2009, 02:48 AM
This tuesday will mark the two weeks after release. This weekend is when you can expect the final release of Open Sauce. The bug fixes and any additions will be included of course.

For those with Guerilla problems: If you're getting dll errors for Adobe or other programs, try closing any processes (not just programs) which are for that program then try using guerilla. I had that guerilla Open Tag dialog issue once when I had just used Acrobat, but later on it worked without a problem and nothing related to Adobe was running. This is an unconfirmed bug fix, this is just something I noticed. So if someone else with the problem can try this that would be great.


On the topic of Synapse. I've bit my tongue on this for too long and now the taste of iron is just getting too much. The whole re-announcement of C&S was done unprofessionally and premature. It was handled in a way which we try and preach to new comers on how not to handle their map creations: Don't post until you have something tangible. In other words: don't get ahead of yourself which I feel is what we did especially considering the team size. Yes, we have the grounds for the web interface but we were able to carry some of that over from back when this was H2V related and there are many other pieces to the puzzle which still aren't complete or targeted. I agreed to the project because I would love to see stats for this game, and still do. However it was after I told myself that I would start pushing away from Halo 1 affairs as it really is holding me back in learning and creating new technology (I do this in whatever free time the us gov't gives me remember...). I'm really tired of being depended on for a project which I shouldn't have committed myself to to begin with. It's not that I can't complete the Synapse side of the project, I can. I know what needs to be done to get the awesome stats we have planned and how to do it. However I didn't take into account at how burnt out I'd get from pushing Open Sauce out the door.

I've dragged this post out too long. I'm taking it upon myself to declare Synapse development on hold publicly. Development for it will still continue, but I feel the project needs to go under the radar until we have something more for the public to consume. Doing that I feel is better than keeping people wondering whats going on and\or posting time tables which don't meet just to post a new one and so on.

king_nothing_
September 6th, 2009, 01:23 PM
The whole re-announcement of C&S was done unprofessionally and premature. It was handled in a way which we try and preach to new comers on how not to handle their map creations: Don't post until you have something tangible. In other words: don't get ahead of yourself which I feel is what we did especially considering the team size.
I kind of suspected that.

Rambo
September 7th, 2009, 10:55 PM
I realize this is a little late to ask for, but can you please incorporate the switch_lightmaps and structure_lightmap_index commands so we can use dynamic lightmap switching? Thanks.

Also, when this comes out, will you please include the DLL this time so we don't have to ask for it like last time? Thanks a ton Kornman00.

TVTyrant
September 7th, 2009, 11:09 PM
So do I rename the d3d9_20090829.dll to just d3d9.dll? How does this work? I have put it into the folder, but when I hit F7 for Yelo, nothing happens.

Cortexian
September 7th, 2009, 11:17 PM
So do I rename the d3d9_20090829.dll to just d3d9.dll?
Yes.

TVTyrant
September 7th, 2009, 11:20 PM
Did it and got an instant exception. Halp.
Says this:
c:\Users\User\AppData\Local\Temp\dxdiag.txt
c:\program files\microsoft games\halo custom edition\debug.txt
c:\program files\microsoft games\halo custom edition\network.log
C:\Users\User\AppData\Local\Temp\WER8F70.tmp.versi on.txt
C:\Users\User\AppData\Local\Temp\WER9D47.tmp.appco mpat.txt
C:\Users\User\AppData\Local\Temp\WERC956.tmp.mdmp

Cortexian
September 7th, 2009, 11:25 PM
Was Xfire running? This doesn't work with Xfire.

TVTyrant
September 7th, 2009, 11:27 PM
I've tried it with xfire on and off. Doesn't work either way.

Should I try safe mode?

Kornman00
September 8th, 2009, 12:29 AM
I need more information than that, please post the actual exception data...


I realize this is a little late to ask for, but can you please incorporate the switch_lightmaps and structure_lightmap_index commands so we can use dynamic lightmap switching? Thanks.

Also, when this comes out, will you please include the DLL this time so we don't have to ask for it like last time? Thanks a ton Kornman00.
I don't have the time to research how to implement a switch_lightmap script function. It could just be as easy as changing the lightmap tag reference in real time however, it would be much more I just don't have the time to dedicate figuring out this kind of feature in my free time for this old engine. I provided a base structure in the tag definitions so that someone in the future could figure it out.

Rambo
September 8th, 2009, 01:59 AM
Does it complain about DirectX 9 not being installed? You need DirectX 9 with this.

FRain
September 8th, 2009, 08:11 AM
Maybe could you could implement the different types of cameras referenced in the project_yellow tag?

Kornman00
September 8th, 2009, 09:46 AM
I didn't use these two weeks to add any real new features left out from the initial RC. Instead I just wanted to get the tools tested, find any hidden bugs and finish up some of the SDK in terms of documentation.

I'll try to find the original up-side camera code bitter did for inclusion but as far as implementing those camera modes, it isn't happening. Really, the biped camera type and those networking flags shouldn't be declared in a tag definition but instead in user settings. I'm really just thinking of tossing the fields from the editor for the final release as the scenario and it's child data should have no say in those options (or at least, not in the manner of which they're currently presented). I just never cared to remove them from the code and xml definitions since I did them in 2005.

Rambo
September 8th, 2009, 11:21 AM
I need more information than that, please post the actual exception data...


I don't have the time to research how to implement a switch_lightmap script function. It could just be as easy as changing the lightmap tag reference in real time however, it would be much more I just don't have the time to dedicate figuring out this kind of feature in my free time for this old engine. I provided a base structure in the tag definitions so that someone in the future could figure it out.
But that's exactly how easy it is. If I run Lightmaps on a BSP, then swap the Lightmaps tag out, what happens is it adopts the new shadows. I can do this and verify it in the form of a video if need-be, provided I am 100% accurate. If this works then all one has to do is swap Lightmap tags. It's just a bitmap that goes over the BSP coordinates, that's it. With no Lightmap tag defined, everything is completely lit with no shadows.

Also, about the extra client data issue, didn't Bungie do that on purpose when they released 1.07, just to prevent people from hacking you?

Kornman00
September 8th, 2009, 12:13 PM
No, I'm talking about at runtime. It may not just be as easy as changing the lightmap reference in the structure bsp definition during game. I'm not talking in any way shape or form about running radiosity.

What are you talking about? What extra client data issue?

FireScythe
September 8th, 2009, 12:39 PM
But that's exactly how easy it is. If I run Lightmaps on a BSP, then swap the Lightmaps tag out, what happens is it adopts the new shadows. I can do this and verify it in the form of a video if need-be, provided I am 100% accurate. If this works then all one has to do is swap Lightmap tags. It's just a bitmap that goes over the BSP coordinates, that's it. With no Lightmap tag defined, everything is completely lit with no shadows.

Also, about the extra client data issue, didn't Bungie do that on purpose when they released 1.07, just to prevent people from hacking you?
Thing is, doing that while the game is actually running might not be that easy. There would be more to it such as figuring out when and where to make the changes, managing the resources, handling bsp changes, etc. It's very rarely as easy as it sounds. Plus it's not down to kornman to do it, no harm in having a go yourself :downs:.

Sorry i'm a bit late with this, but there's one more bug for CheApe.

If I build a CheApe project the tag definitions tend to be fine in guerilla, but if I make a change, such as a field name in the xml, then build again without closing CheApe, the tag definition has a load of gobbledegook names.

Screenies:

Right:
http://i362.photobucket.com/albums/oo66/TheFieryScythe/gobble.jpg
Wrong:
http://i362.photobucket.com/albums/oo66/TheFieryScythe/degook.jpg

I've uploaded the tag_groups >here<

(http://cid-d439194bef5aa58e.skydrive.live.com/self.aspx/Public/tag%7C_groups.zip)And the xml, incase i'm doing something wrong in there:


<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<definitions game="Halo1">
<flags>
<Flag name="effect_activation_flags">
<field>initially active#Is the shader active when the game starts</field>
<field>active during cutscenes</field>
</Flag>

<Flag name="shader_collection_flags">
<field>enable fake hdr</field>
<field>enable shader effects</field>
<field>enable motion blur</field>
</Flag>

<Flag name="motion_blur_flags">
<field>use vignette#Reduces the amount of blur towards the centre of the screen</field>
</Flag>
</flags>

<enums>
<Enum name="effect_render_point_enum">
<field>pre alpha blended faces</field>
<field>pre hud</field>
<field>pre menu</field>
<field>post menu</field>
</Enum>
</enums>

<data>
<TagData name="shader_postprocess_bitmap_file_location_data" maxSize="256" isTextData="true" />

<TagData name="shader_postprocess_effect_source_code_data" maxSize="32768" isTextData="true" />

<TagData name="shader_postprocess_effect_compiled_code_data" maxSize="32768" />
</data>

<blocks>
<TagBlock name="shader_postprocess_bitmap_block" maxElements="4">
<field type="String" name="value name" blockname="true" />
<field type="Data" name="relative location" definition="shader_postprocess_bitmap_file_location_data"/>
</TagBlock>

<TagBlock name="shader_postprocess_bool_block" maxElements="8">
<field type="String" name="value name" blockname="true" />
<field type="ShortInteger" name="value"/>
<field type="Pad" definition="2" />
</TagBlock>

<TagBlock name="shader_postprocess_int_block" maxElements="8">
<field type="String" name="value name" blockname="true" />
<field type="LongInteger" name="value"/>
</TagBlock>

<TagBlock name="shader_postprocess_float_block" maxElements="8">
<field type="String" name="value name" blockname="true" />
<field type="Real" name="value"/>
</TagBlock>

<TagBlock name="shader_postprocess_dynamic_float_block" maxElements="8">
<field type="String" name="value name" blockname="true" />
<field type="RealBounds" name="value bounds"/>
<field type="Real" name="change per second"/>
</TagBlock>

<TagBlock name="shader_postprocess_pass_block" maxElements="16">
<field type="String" name="pass name" blockname="true" />
<field type="RealPoint2D" name="scale" />
</TagBlock>

<TagBlock name="shader_postprocess_shader_block" maxElements="32">
<field type="String" name="name" blockname="true" />
<field type="Point2D" name="render quad tesselation" />
<field type="Block" name="additional bitmaps" definition="shader_postprocess_bitmap_block"/>
<field type="Block" name="bools" definition="shader_postprocess_bool_block"/>
<field type="Block" name="integers" definition="shader_postprocess_int_block"/>
<field type="Block" name="floats" definition="shader_postprocess_float_block"/>
<field type="Block" name="dynamic floats" definition="shader_postprocess_dynamic_float_block"/>
<field type="Block" name="passes" definition="shader_postprocess_pass_block"/>
<field type="Data" name="effect code" definition="shader_postprocess_effect_source_code_data" />
<field type="Data" name="compiled code" definition="shader_postprocess_effect_compiled_code_data" />
</TagBlock>

<TagBlock name="shader_postprocess_effect_shader_block" maxElements="12">
<field type="LongBlockIndex" name="shader" definition="shader_postprocess_shader_block" />
</TagBlock>

<TagBlock name="shader_postprocess_effect_block" maxElements="16">
<field type="String" name="name" blockname="true" />
<field type="Enum" name="render point" definition="effect_render_point_enum" />
<field type="ByteFlags" name="flags" definition="effect_activation_flags" />
<field type="Pad" definition="3" />
<field type="Block" name="shaders indicies" definition="shader_postprocess_effect_shader_block" blockname="true"/>
</TagBlock>
</blocks>

<groups>
<TagGroup name="shader_postprocess_collection" groupTag="shpc" version="1">
<field type="ShortInteger" name="version" locked="true" />
<field type="Pad" definition="2" />
<field type="ByteFlags" name="flags" definition="shader_collection_flags"/>
<field type="Pad" definition="3" />
<field type="Real" name="luminosity target"/>
<field type="Real" name="luminosity change p/sec"/>
<field type="RealBounds" name="luminosity change bounds"/>
<field type="Real" name="motion blur amount"/>
<field type="ByteFlags" name="motion blur flags" definition="motion_blur_flags" />
<field type="Pad" definition="3" />
<field type="Block" name="shaders" definition="shader_postprocess_shader_block" />
<field type="Block" name="effects" definition="shader_postprocess_effect_block" />
</TagGroup>
</groups>

</definitions>
Also, with the shader_postprocess_collection tag, where WERE you going with it :p? Compiled into a map, or just a tag loaded externally?

Rambo
September 8th, 2009, 03:17 PM
No, I'm talking about at runtime. It may not just be as easy as changing the lightmap reference in the structure bsp definition during game. I'm not talking in any way shape or form about running radiosity.
Radiosity was an example of how I could swap lightmaps and then recompile the map. I didn't mean it as something to be confusing.


What are you talking about? What extra client data issue?
I was referring to the device syncing problem with respect to extra client data causing the game to boot someone off the server when sending extra data across. I said that Bungie did this as a way of keeping someone from sending "false" packets. All one has to do is go back to the 1.06 EXE and see how the code works there in retrospect to the 1.07 code. They "fixed" that bug, thus preventing us from sending packets across that would sync the clients with the servers.

ShadowSpartan
September 8th, 2009, 03:24 PM
Radiosity was an example of how I could swap lightmaps and then recompile the map. I didn't mean it as something to be confusing.
Korn wasn't confused, he understood what you were talking about. You are the one that is confused. Changing the lightmap tag reference and recompiling the map is not the same as changing it at runtime (while the game is running). Read the very beginning of FireScythe's post, he explains why it more than likely won't be as simple as changing a tag reference.

Rambo
September 8th, 2009, 03:35 PM
OK. It still should work, in theory. You aren't rerunning radiosity each time, just changing the tag. If recompiling it makes it work, on-the-fly lightmap switching should work in the same way switching BSPs on the fly works.

I'd do it, but I don't know XML or any programming language. I'm just a sound man and script in Halo some.

ShadowSpartan
September 8th, 2009, 03:52 PM
OK. It still should work, in theory. You aren't rerunning radiosity each time, just changing the tag. If recompiling it makes it work, on-the-fly lightmap switching should work in the same way switching BSPs on the fly works.
No. There is no guarantee that changing the tag reference while the game is running will force the lightmaps to change. That would imply that the lightmap tag reference field is constantly being checked for any changes, which it is not. There would be no point in monitoring if the tag reference changes, especially since the lightmap cannot normally be changed at run time. Use common sense.

This would not have the same effect as the "switch_bsp" command. When you switch a bsp using that command, the new sbsp tag is loaded, as well as all of it's dependents. One of the dependents is it's corresponding lightmap tag. You have no idea what you are talking about, so please stop.


I'd do it, but I don't know XML or any programming language. I'm just a sound man and script in Halo some.
Damn Korn, you should have written OS in nothing but XML. I think I'll do that for my next app. :rolleyes:

TVTyrant
September 8th, 2009, 04:03 PM
E:B;eh one second.
So where do I find exception data?

ShadowSpartan
September 8th, 2009, 04:16 PM
XP:

On XP, I believe there is a way to save the Exception Data of which it notoriously Gathers. Try clicking the "View Details" linkish looking thing (IIRC) and see if it lets you.

On Vista its a little different. This difference actually made developing hacks like Yelo more time consuming to debug on my end as the amount of steps involved.
1) Control Panel->Problem Reports and Solutions->View problem history
2) Find HaloCE (or it may be the name of the dll, dx3d9.dll or w/e)
3) Right click->View problem details.
4) Copy to clipboard & pasta in your post
5) ???
6) Fix?
7) Deficit


Vista:
Start>Control Panel>System and Maintenance>Problem Reports and Solutions>Find Halo report at specific date/time and copy to clipboard

W7:
Start>Search for "View all problem reports">Find Halo report at specific date/time and copy to clipboard

TVTyrant
September 8th, 2009, 04:26 PM
Product
Halo

Problem
Stopped working

Date
9/8/2009 2:02 PM

Status
Report Sent

Problem signature
Problem Event Name: APPCRASH
Application Name: haloce.exe
Application Version: 1.0.8.616
Application Timestamp: 489a3b7e
Fault Module Name: d3d9.dll
Fault Module Version: 2.0.0.1
Fault Module Timestamp: 4a984fec
Exception Code: c0000005
Exception Offset: 00016686
OS Version: 6.0.6001.2.1.0.768.3
Locale ID: 1033

Extra information about the problem
Bucket ID: 1439092421

That stuff?

ShadowSpartan
September 8th, 2009, 04:30 PM
That stuff?
Yes, that is correct.

Kornman00
September 8th, 2009, 10:27 PM
Sorry i'm a bit late with this, but there's one more bug for CheApe.

Also, with the shader_postprocess_collection tag, where WERE you going with it :p? Compiled into a map, or just a tag loaded externally?
Fixed. Wasn't resetting a few things when there was a re-import

The tag was to be built into cache files so that people didn't have to use external files like you initially had with your post-process demo

FireScythe
September 9th, 2009, 02:59 AM
Ah ok then. I'll probably still have external shaders aswell, for global effects, with compiled shaders for map specifics, but that's for another time :P.

Rambo
September 9th, 2009, 09:14 PM
About the lightmap thing, I would code it myself, if I knew XML, but I don't know any program languages except some HaloScript.

If someone could generate a library package with support for the lightmap functions I requested so we can at least find out what happens, I'd greatly appreciate it. Again, I don't know any programming languages at all. Sorry guys. I just want to see how well it works. I have this hypothesis it will work just fine, but I want to see to be certain.

If I were to program it, how would I go about it? I might ask around to see if there's people that could code it, but they'd need to know to what specifications and how.

ShadowSpartan
September 9th, 2009, 09:22 PM
About the lightmap thing, I would code it myself, if I knew XML, but I don't know any program languages except some HaloScript.
OpenSauce is not written in XML, nor is it even possible to write a program in XML. OS is written in C++, the only part of it that uses XML files is when defining custom tag groups. I don't know what your fascination is with XML.


I have this hypothesis it will work just fine, but I want to see to be certain.
Did you just completely skip over or disregard my post (http://www.modacity.net/forums/showpost.php?p=458505&postcount=139)?


If I were to program it, how would I go about it? I might ask around to see if there's people that could code it, but they'd need to know to what specifications and how.
If somebody is going to go through the trouble of telling you how to do it, they might as well program it themselves.

Rambo
September 9th, 2009, 10:54 PM
The part needed to add the script command is done in XML, but it needs to reference the stub code in OS itself for the solution to work, for example, the index for the script and what not.

I was asking if someone could please program that "connection point" between the stub code and the end-user by programming the XML part knowledgeably.

And I didn't mean to skip over your post or be an asshole.

Kornman00
September 10th, 2009, 12:14 AM
Dude...someone doesn't just sprinkle magic dust on some code and all of a sudden things work. Someone would actually have to reverse engineer the game engine to figure out how it goes about updating to the render current lightmap, then program a script function in C++, as thats what the codebase is written in, to force that update to happen with a new lightmap. Things just don't appear out of thin air

Rambo
September 10th, 2009, 12:28 AM
Fine I give up. I suggested the idea because I thought it would be fairly simple to get in-game, not knowing any programming languages. I thought that the current rendering part of the engine could handle it as-is and that all it would require was just coding into Open Sauce. Since it's obviously more complicated than that, or so it would seem, I'm done with it. I'll just assign my 64 lightmaps to 64 BSPs and make a huge filesize map and be thankful for that, even if it's at the expense of others for having to download such an attrocious filesize just to switch lightmaps more smoothly.

It shouldn't have to be that way. I still think it can be done, yet I'm stuck with "what is" because I'm a n00b that can't code a thing outside of Halo. I'm just stupid like that. I've never been good with coding or modeling (not that that even matters) or any of that stuff.

I'll just stand back and read from now on, since I feel so worthless and unwelcome here in this thread. After all, it's not my area of expertise, now is it?

FireScythe
September 10th, 2009, 07:30 AM
Whoa there, no ones saying it isn't possible, were just saying you need to find a programmer who is willing to do the hard work for you. But it's probably not going to be anybody here.

Back on to OS, in the final release, is it going to be possible to create our own utilities for OpenSauce IDE? Or is that purely for your own use?

FRain
September 10th, 2009, 07:53 AM
Dude...someone doesn't just sprinkle magic dust on some code and all of a sudden things work. Someone would actually have to reverse engineer the game engine to figure out how it goes about updating to the render current lightmap, then program a script function in C++, as thats what the codebase is written in, to force that update to happen with a new lightmap. Things just don't appear out of thin air

This, dude. You're way too fucking ahead of yourself. I'm not a coder I have no idea how to code and no idea how C++ is written, the only language I know is HaloScript, but I already know that changing lightmaps during runtime is going to be a pain in the ass thats probably even not possible and you'd have to completely rewrite a shit ton of stuff before it works.

Kornman00
September 10th, 2009, 08:59 AM
Back on to OS, in the final release, is it going to be possible to create our own utilities for OpenSauce IDE? Or is that purely for your own use?
No. I don't see what the point would be. Yes it would be nice to have a single-entry-point tool for developing, but I really don't have the time to create and test a new plug-in interface for it. More was planned for it (a couple useful tag based utilities) but I just never got around to creating a UI side to some of the tools. There is even a CheApe system for H2V but I never got around to implementing a Yelo for H2V's runtime so there isn't much use there.

UnevenElefant5
September 12th, 2009, 05:30 PM
Didn't want to read 16 pages to find this out sorry. But my question is if I compile a map with this, will someone else need this SDK to play it?

jcap
September 12th, 2009, 06:03 PM
Didn't want to read 16 pages to find this out sorry. But my question is if I compile a map with this, will someone else need this SDK to play it?
Only if you take advantage of OS-specific features. If you use the OS HEK without touching any features such as gravity, you will not need OS to play.

Dwood
September 13th, 2009, 06:08 PM
Is it possible to compile a map that has the gravity changed? Because i imagine that if things were not like that it wouldnt sync.

E: Wow this was a retarded post.

W1zard
September 14th, 2009, 03:31 PM
jcap just told you, if you would use gravity for example, you WILL be needing the OS to let it function properly

Aßyll
September 16th, 2009, 08:51 PM
I remember reading something about a manual some long time back... did that come out somewhere I didn't see, or is that gonna come out sometime eventually?
I'm interested in it enough that if I get it, I might come back to CE, but w/o a manual.. I don't want to spend a whole lot of time reading the source to figure it out myself.

Kornman00
September 17th, 2009, 05:08 AM
A rough draft of the documentation is included in the SDK RC download

The final release hasn't come out yet due to my day job being overexerting this past week. I really haven't had time to both relax and do my "night" job

It is probably better if you do read the source. The code portion of the SDK isn't meant to be a high level API, but more of a guide into manipulating the engine. Just browsing the code can reap benefits from knowing what all is happening in the background in each component. It's just like any SDK, the documentation will only take you so far. Getting neck deep into it's provided source will take you further. Putting it all together will take you all the way. However I really can't sit down and do a super manual for the SDK, I can't allocate that much of my free time to this anymore.

FireScythe
September 18th, 2009, 03:44 PM
I've just noticed that opening Guerilla creates two guerilla processes, is this normal?
E: So do tool and sapien.

the1
September 26th, 2009, 08:02 AM
yeah its a compadibility issue. its required for os_tool and os_sapien to use all the OS feats properly... :S....

Dwood
September 26th, 2009, 09:45 AM
Okay in the hek, if you compile or ever get an error saying "can't find i've got a lovely bunch of corncobs.project_yellow" from OS_Sapien's debug.txt:

Just create your own tag like that from Guerilla.

Kornman00
September 26th, 2009, 09:59 AM
That tag name is internally used. Did you not set your scenario's project yellow reference before loading os_sapien? If you're not using open sauce then you should be using the stock HEK programs instead.

Dwood
September 26th, 2009, 11:09 AM
That tag name is internally used. Did you not set your scenario's project yellow reference before loading os_sapien? If you're not using open sauce then you should be using the stock HEK programs instead.

I did not realize that there was a new tag field called "project yellow definitions" at the top of the scenario tag. So nope, I didn't. Another thing to note is that for some reason the field is set to that automatically.

e: I'm going to edit my OS quick debug/tutorial thread.

Kornman00
September 26th, 2009, 11:57 AM
I fixed the code so it shouldn't be an issue in sapien anymore

Dwood
September 26th, 2009, 12:11 PM
I fixed the code so it shouldn't be an issue in sapien anymore

Thanks. Any word on an Update #3?

ShadowSpartan
September 26th, 2009, 06:58 PM
Thanks. Any word on a RC3?
Since when was there a 2nd Release Candidate?

Dwood
September 26th, 2009, 07:07 PM
Since when was there a 2nd Release Candidate?

lol yeah... I meant Update #3

FRain
September 27th, 2009, 01:00 AM
Also, as far as I know the next release is final.

the1
September 27th, 2009, 07:09 AM
something i don't think anyone else thought of... but... for the gravity stuff in the globals tag. is it possible to set that as a base normal gravity for the map and set up different local gravity's within trigger volumes or something?
say the level's in a ship with artificial gravity. as soon as you leave the ship you enter a trigger volume that changes the gravity relatively from full gravity to no gravity. or would that be asking too much of CE? lol

and just out of curiosity... with the multi biped in the yellow globals... what allows us to choose between 1 or the other?

Kornman00
September 27th, 2009, 08:12 AM
You could potentially do something like that. However you'd have to setup a tag block in your scenario's py tag- Wait no scratch that, the py tag is closed source. You'd have to create your own scenario_trigger_volume_extension tag or something which has a tag block which takes the name of the trigger volume and a real value for it's gravity. Then you could just have an Update function check to see if the local player (this would only work for campaign) is in any of those, lets call them gravity well volumes, and then update the gravity to what that extension says.

you could end up with something like:


scenario_extensions
* tag_block: scenario_gravity_well_block
- tag_string: trigger volume name
- word_flags: flags
- use interpolation
- short integer: interpolation speed (game ticks or something)
- real: gravity f(x)
- real_bounds: gravity interpolation range
If this was halo 2 or later, you'd have the benefit of a mapping_function to define a much more robust interpolation function.


For your second question: it's not implemented...please explore the source code.

the1
September 27th, 2009, 08:21 AM
For your second question: it's not implemented...please explore the source code.

thanks. not much of a programmer. so ill have to look into it a bit when i get an editor.

Dwood
September 27th, 2009, 08:50 AM
Would it be possible to have something that pushes the person too, like gravity + an angle?

CodeBrain
September 27th, 2009, 09:53 AM
Me and Dwood were trying to figure out this problem, haven't solved it yet:


fatal error RC1015: cannot open include file 'afxres.h'

Everything needed for OS (DirectX SDK March 09 and Boost C++ Libraries all set up in Project Directories) are set, so I have no idea what's going on.

Google said that afxres.h is installed with the Microsoft Platform SDK, in a MFC Folder. :/

Skyline
September 27th, 2009, 10:16 AM
It's not installed on the express editions of visual studio. You can just delete the Halo1_CE.rc file.

Kornman00
September 27th, 2009, 10:17 AM
I don't use Express edition of VS (which doesn't have MFC). You'll need to delete the resource data in the DLL's project. I only used a VS_VERSION_INFO (or w/e it's called) resource so it's nothing terribly important

CodeBrain
September 27th, 2009, 10:33 AM
It's not installed on the express editions of visual studio. You can just delete the Halo1_CE.rc file.

I deleted the Halo1_CE.rc file, it resulted in:


1>fatal error RC1110: could not open .\Halo1_CE.rc
1>Project : error PRJ0002 : Error result 1 returned from 'C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe'.

Korn, unfortunately I am having trouble locating the resource data for Halo1_CE. Is it the resource.h in the Halo1_CE folder?

FireScythe
September 27th, 2009, 11:51 AM
Remove the following from the Halo1_CE.rc file:

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE
BEGIN
"resource.h\0"
END

2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END

3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END

#endif // APSTUDIO_INVOKEDand optionally (doesn't do anything):


#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKEDE: Forgot to mention you can't directly open the .rc file using the express edition so just edit it with a text editor if you need to.

CodeBrain
September 27th, 2009, 01:05 PM
Thanks FireSythe, got it working :D

Now, does anyone happen to have the source for the d3d9.dll plugin on the first post, that has the updated stuff in it?

Skyline
September 27th, 2009, 01:44 PM
I deleted the Halo1_CE.rc file, it resulted in

Ugh. You didn't remove the file from the project...

CodeBrain
September 27th, 2009, 01:49 PM
Ugh. You didn't remove the file from the project...


Remove the following from the Halo1_CE.rc file:

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE
BEGIN
"resource.h\0"
END

2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END

3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END

#endif // APSTUDIO_INVOKEDand optionally (doesn't do anything):


#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED


Thanks FireSythe, got it working :D

?

Skarma
September 28th, 2009, 09:05 PM
MacrosCpp.hpp

#define MACRO_JOIN_TOKEN3(a, b) a##b
#define MACRO_JOIN_TOKEN2(a, b) MACRO_JOIN_TOKEN3(a, b)
// Join two macro arguments, even if the argument is a macro as well
#define MACRO_JOIN_TOKEN(a, b) MACRO_JOIN_TOKEN2(a, b)
LoL whawhawha redundant much
Were you just bored here ? haha :downs:

Aßyll
September 28th, 2009, 10:16 PM
Actually it's allegedly needed to join Macros, but what's worse is him having that while using the boost version too:

(from BlamScriptingDefinitions)

#define HS_TYPE(hstype) BOOST_JOIN(Yelo::Enums::_hs_type_,hstype)


(from the BOOST library)


// Helper macro BOOST_JOIN:
// The following piece of macro magic joins the two
// arguments together, even when one of the arguments is
// itself a macro (see 16.3.1 in C++ standard). The key
// is that macro expansion of macro arguments does not
// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
//
#define BOOST_JOIN( X, Y ) BOOST_DO_JOIN( X, Y )
#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
#define BOOST_DO_JOIN2( X, Y ) X##Ynot sure why.. maybe he added boost later, after making his own macro to combine macros.

Skarma
September 28th, 2009, 11:09 PM
even when one of the arguments is itself a macroVery epic. Should have read that over again. If there's one thing about Kornman00 I will never forget, it's that he loves macros and macros inside macros! :downs:

I have been looking more into OpenSauce and it's starting to pull together for me. I wasn't aesthetically pleased at first, but it sets in after some time staring at it. Usually have to open 8 files to figure out a line of code, those dang fishy macroronies. hehe

Abyll, I have been thinking about it, using OS for Forge and that other..secret project..
If only I could fix Xfire grabbing an invalid device pointer...ugh

Kornman00
September 29th, 2009, 12:44 AM
Yeah, boost came later, those macros were from the old Project Yellow days. I think COMPILE_ASSERT may also still be lingering in the cpp macro definitions which I've since replaced it with BOOST_STATIC_ASSERT.

Macros can help in areas where I don't want some hidden compiler inititializer thunks and instead just want the compiler itself to initialize the data. However, sometimes the compiler will still amazing do both (even in optimized builds). *sigh*. That's not the only reason I use them but they really are a great tool when used properly (not saying I always use them properly though heh).

Xfire should just look at being more friendly with it's interfacing.

the1
September 29th, 2009, 08:23 AM
did kornman just do a
"bad Xfire... you shouldn't go doing things like that!" ???
lol
meh Xfire sucks anyway XD

Helixv3
October 2nd, 2009, 03:59 PM
Question,
and sorry if im bumping i dont mean to but i would enjoy knowing this
Does this DLL work for FV(Full Version)? Or is it ONLY Custom Edition?

Dwood
October 2nd, 2009, 04:06 PM
Question,
and sorry if im bumping i dont mean to but i would enjoy knowing this
Does this DLL work for FV(Full Version)? Or is it ONLY Custom Edition?

One thing to note is that both versions are full. And no, it is not. (Only works in Halo CE)

ShadowSpartan
October 2nd, 2009, 04:07 PM
Question,
and sorry if im bumping i dont mean to but i would enjoy knowing this
Does this DLL work for FV(Full Version)? Or is it ONLY Custom Edition?
Open Sauce is only compatible with the Custom Edition version of Halo PC. On another note, is this who I think it is? You can at least be a little less obvious e3po.

Helixv3
October 2nd, 2009, 04:37 PM
Open Sauce is only compatible with the Custom Edition version of Halo PC. On another note, is this who I think it is? You can at least be a little less obvious e3po.

Im not e3po...

Previous Names
Avensys
Genesis
Triple Helix
Helix

=] If you know me by one of those names then yes it's me.

Skarma
October 3rd, 2009, 12:27 AM
Why do all caches have a salted index and a normal index for their instances instead of just a normal index? I just noticed that the first two letters of the DataHeader name is ORed with 0x8000 as the first salted index, then increased from there. Thought it was kinda cool, but can figure out why Kornman!

Kornman00
October 7th, 2009, 03:16 PM
The vista side of my macbook went kaput after almost 34 months of use. However, since I can run OSX fine, I don't think it's hardware related (unless OSX is just THAT awesome...hmmmm).

So yeah, until I get an alternative dev environment up, all endeavors of mine are down for the count. Expect designing. Don't need windows to design new things. Just the code development part heh.

I guess it's fitting, since I'm moving next week and need to pack anyway vOv

Skarma
October 8th, 2009, 03:29 PM
Man, that sucks. Good luck with the move and hope things will get back to normal for ya :downs:

On another note, while reversing a function, I was referencing off your object definition struct for offsets and found a minor struct error. Your object_header_block_reference struct is backwards, the size is first and offset is second.

Example of it being used in CE 1.08:

004F9D22 MOVSX EDX,WORD PTR DS:[EBX+1F2]
...
004F9D33 ADD EDX,EBX

Which is object_data.NodeMatrixBlock.Offset into edx, then object_data + offset.
If you go to the address put in edx, it's the matrix block. If you highlight the matrix block, it adds up to the size at object_data + 0x1F0. So, just thought you might know in case you ever go to use it.

E: Also, do you have node matrix definition in OS? I can't seem to find it. I know that it's always 13 floats: first float is usually, if not always 1.0f, the next 9 floats are unit vectors, and the last 3 floats are node world position. This is an unusual matrix, do you have any information on it?

FireScythe
October 10th, 2009, 11:19 AM
Found a bug, although you've probably already fixed it, but here it is just in case.

In YeloSettings.cpp the LoadSettingsUser function doesn't close the file that it opens, which stops any settings from being saved later on. Also, in some of your components' LoadSettings functions you have "int32 i" being declared inside the if statement that reads from the settings file, which results in the component always loading default settings.

int32 i = 0;
if (file != NULL && fscanf_s(file, "[FOV]\n") != EOF)
{
int32 i = fscanf_s(file, "vertical radians: %f\n", &_fov_globals.fov.vertical);
fscanf_s(file, "\n");
}
//i will always be zero
if (i < 1)
_fov_globals.InitializeToDefaultSettings();Also, in Main.cpp the Settings component is initialised and loads all settings first, but should to settings not be loaded last? As currently it loads the settings of other components, which are then initialised afterwards, plausibly reverting any loaded values to defaults.

Kornman00
October 10th, 2009, 11:33 AM
Yeah, those were the fixes I had to apply to get the settings working. At least C# will typically inform me of silly mistakes when redeclaring variables in child blocks.

There shouldn't be any cases in my own use of the system where the settings are modified in the component's Initialize function. The settings initialization should all occur within the LoadSettings crap, even when it is just to set them to the default values.
The Initialize\Dispose system should really just be for runtime based computations. If the settings are known before the Yelo game state begins, then the initialize code can perform any game changes based on variable settings once and should treat all setting values as read only. It's not until the Yelo update state begins where it should be assumed safe to change the values of the settings.

Could a better system been created? Of course (think XML). I really just wanted to keep a very simple system in place and decided to reuse the old Battery code with some adjustments in code flow and such. Allowed more time to be spent on other things

Dwood
October 12th, 2009, 07:26 PM
Hey Korn before the final release of Open Sauce can you look at opening up Hud_Messages for editing in Guerilla?

ShadowSpartan
October 12th, 2009, 09:22 PM
Hey Korn before the final release of Open Sauce can you look at opening up Hud_Messages for editing in Guerilla?
What are you talking about? There is no "hud_messages" tag type, are you talking about "hud_message_text"?

Dwood
October 13th, 2009, 05:52 AM
What are you talking about? There is no "hud_messages" tag type, are you talking about "hud_message_text"?

Yes.

ShadowSpartan
October 13th, 2009, 06:54 AM
Yes.
Odd, some of the fields for that tag are still locked. You can use Korn's old Guerilla, it edits that tag fine.

Dwood
October 13th, 2009, 12:33 PM
Odd, some of the fields for that tag are still locked. You can use Korn's old Guerilla, it edits that tag fine.

Thanks! I didn't think of that, sadly >.>

Kornman00
October 13th, 2009, 07:03 PM
I went through and audited the fields I really felt would gain any value being editable as apposed to everything being open. Chances are if it's still locked, you really are doing things wrong or you shouldn't even be touching that shit.

You shouldn't be touching this tag group with guerilla. Use tool to perform an import of a new tag with the changes you want.

Dwood
October 13th, 2009, 07:08 PM
I went through and audited the fields I really felt would gain any value being editable as apposed to everything being open. Chances are if it's still locked, you really are doing things wrong or you shouldn't even be touching that .

You shouldn't be touching this tag group with guerilla. Use tool to perform an import of a new tag with the changes you want.

Hm? What happens when the hud_messages_text edited with guerilla as opposed to doing it via tool?

MissingSpartan7
October 15th, 2009, 05:38 PM
i'm new to this kind of stuff, i've got all the stuff off the first post but where do i put OS? is there somewhere specific it has to go?
E: i'm also missing some dll also (MSVCR80.dll?)

Skarma
October 15th, 2009, 06:48 PM
I think you put the OS HEK stuff in your Halo CE folder cuz it has dll's it needs to load there, but the OS SDK solution you can open anywhere.

Dwood
October 15th, 2009, 07:16 PM
Put the os dll in halo CE root folder. Check the wiki for more info.

Kornman00
October 16th, 2009, 03:57 PM
Well I had a new XP partition up on my Macbook for about three days before it started acting up. I think MS's recent 34-new-updates release might have been the cause of my all of a sudden really wacky system behavior. It's not BSODing like Vista was, but shit is very sluggish and Windows no longer knows how to restart or shutdown. So I borrowed a laptop from someone but I left it at work after I put Windows on it :\

So...back in OSX again. Might try to redo Windows on my Macbook ONCE MORE this weekend. In the meantime I'm playing with MonoDevelop...kinda neat actually. Whelp, enough off topicness

paladin
October 16th, 2009, 04:26 PM
l2computers KM...

Dwood
October 16th, 2009, 04:32 PM
l2computers KM...

Honestly. It's like he has no idea how to use one .

paladin
October 16th, 2009, 04:38 PM
I know, hes broke like 3 in 2 weeks. <:iamafag:>

MissingSpartan7
October 18th, 2009, 12:16 AM
Check the wiki for more info.
what wiki?

CrAsHOvErRide
October 18th, 2009, 05:58 AM
http://wiki.modacity.net/index.php?title=Main_Page
(http://wiki.modacity.net/index.php?title=Main_Page)

Kornman00
October 18th, 2009, 06:46 AM
I thought they fixed the whole bot problem?

CrAsHOvErRide
October 18th, 2009, 06:50 AM
Mother Russia always finds backdoor http://i169.photobucket.com/albums/u219/socialistjedi/Smilies/commie.gif

Kornman00
October 18th, 2009, 07:52 AM
Ah, motherland


Anyway, did a little Wiki editing for OpenSauce. Thought it was the least I could do for not being able to push out the final release yet :embarrassed:. Will probably do some more later, but not really Wiki formatting smert and don't really recall too much HTML tags :ohdear:

Rambo
October 30th, 2009, 05:16 PM
OK here's what I've done for a Lightmap extender function.

I have set up the appropriate data for structure_lightmap_index and switch_lightmap in the XML file that comes with Open Sauce (examples.do.not.include) or something like that. I then recompiled. Presto! It works fine in Sapien. However, when I try to load the function in game it won't show up. My question is, why? What am I doing wrong? How do i migrate these functions into the project_yellow_globals or at least make them show up?

Please help, someone. Thanks.

Chaos and I are trying to get the lightmap functions to work and we've made it this far.

Technical specifications:

switch_lightmap returns a boolean and the argument is a short. Is this correct? The name for the argument I gave it is structure_lightmap_index.

structure_lightmap_index retrns a short and the argument is a boolean with the name of structure_lightmap_index for the argument name. is this correct?

I'm new to this so please don't come down hard on me. I'm actually trying to make this work. Thanks.

Dwood
October 30th, 2009, 09:34 PM
Oh yes, Korn, another quick thing about OS_Tool. If I'm building a map, how come it doesn't check if that project name is already in the file?

ShockwaveS08
November 3rd, 2009, 04:49 PM
Ugh...Bungie just HAD to make a completely unneccessary update (1.09) that breaks OpenSauce. Without the Yelo Battery from the first post, my Widescreen monitor became a detriment instead of a minor advantage. Looks like someone'll have to update OS to (hopefully) the FINAL final version of HaloCE. And throw in an updated OS Yelo.

Siliconmaster
November 3rd, 2009, 04:52 PM
I thought the new update didn't break compatibility?

ShockwaveS08
November 3rd, 2009, 05:00 PM
The Yelo on the first post of this thread was made for 1.08. When I ran 1.09, it did not run. I'll give another FOV utility a shot...

EDIT: Double ugh...until someone makes an updated OpenSauce Yelo for 1.09, looks like I'm out of commission. The game keeps throwing non-IE exceptions at me, insulting me as I go.

Cortexian
November 3rd, 2009, 05:05 PM
Ugh...Bungie just HAD to make a completely unneccessary update (1.09) that breaks OpenSauce. Without the Yelo Battery from the first post, my Widescreen monitor became a detriment instead of a minor advantage. Looks like someone'll have to update OS to (hopefully) the FINAL final version of HaloCE. And throw in an updated OS Yelo.
It was completely necessary. Are you telling me that it's acceptable to leave a game in a state where IE security updates cause the game to error on launch? No, that's unacceptable.

ShockwaveS08
November 17th, 2009, 09:11 PM
Gee, thanks for not giving the modders A FREAKING WARNING before posting the goddamn link. That would have AT LEAST bought us some time to prepare ourselves for this crap.

Dwood
November 18th, 2009, 06:08 AM
Skarma told me that he would be updating the addresses to Open Sauce. Not sure how much he's done, however.

Limited
November 18th, 2009, 06:41 AM
It was completely necessary. Are you telling me that it's acceptable to leave a game in a state where IE security updates cause the game to error on launch? No, that's unacceptable.
It was unnecessary. Why not fix the problem? 1.08 was working fine and dandy before IE update was botched.

Kornman00
November 18th, 2009, 10:56 AM
firefox ftw

supersniper
November 18th, 2009, 12:46 PM
yeah i use firefox so i never had that IE problem so to me i only benifit for the update was cuz i have 4gb ram 64 bit os...

Dwood
November 18th, 2009, 01:00 PM
It was unnecessary. Why not fix the problem? 1.08 was working fine and dandy before IE update was botched.

Not on 64 bit computers I thought. In fact, mine threw fits so I have to stick with 32 bit for now.

jcap
November 18th, 2009, 03:54 PM
I never had a problem on Vista x64 or W7 x64. :confused2:

The only "problem" I had was the dialog box that says you have no RAM.

Solution: [X] Don't show this warning again.

supersniper
November 18th, 2009, 08:07 PM
exaclty what i did lolz
so really cuz i never used IE i never had a problem
but meh i guess the patch came out so whatever.

Skarma
November 18th, 2009, 09:39 PM
Shockwave your sig makes me laugh. Skarma told me that he would be updating the addresses to Open Sauce. Not sure how much he's done, however.I've been way too busy lately working or getting wasted to have updated any lol. I go to the bar on days off and I come home to messed up to code =[ well, I'm working on 2 different methods for sig scan. One will generate hex string signatures that I will use to auto scan for any version. Hopefully that works out well, then I will only have to resort to manually copying signatures down. Those global pointers are gonna be the bitch to work around. Either way, once all the signatures are done, OS will tecnically be able to be translated to any version. This way we can be prepared if there is another update. I will release the halo sig scanner open source so people can add their signatures for their programs too. This way updating apps will take no time at all

supersniper
November 18th, 2009, 09:42 PM
shit bro we need to chat on xfire.
lolz at us admins epically failing ;)

justin108
November 18th, 2009, 10:28 PM
Silent, that is very nice of you.

However, I don't get the issue now with 1.09; version changer is out and using the exe i just put out to update sapp, wont all of your shit still work? I mean it should. 0 memory addys are shifted as its a modified 1.08exe and gameservers sees it as 1.09. The version check is removed from the 1.08exe allowing 1.09 to join.

Unless I am mistaken that means OS should work? Ive been drinking so ill check it out tomorrow.

supersniper
November 18th, 2009, 10:33 PM
nah one thing is still broke...
rec0's app.

justin108
November 18th, 2009, 10:57 PM
Im working on it as we speak, no guarantees though, im a noob that may be outta my scope. We shall see. xD

supersniper
November 19th, 2009, 02:10 PM
pssh everyone starts off somewhere
and right now i'm a noob too ;)

Hunter
November 19th, 2009, 03:06 PM
firefox ftw

:fflove:

There is your fix, Mozilla Firefox!
IE is epic fail... I hate it. Mainly because it is stupid and needs almost COMPLETELY different CSS code when making websites where as other web browsers do not...
Microsoft think they are better than W3C...

CrAsHOvErRide
November 19th, 2009, 04:30 PM
IE cannot open my website :haw:

I'm such a revolutionist...no basically it's some stupid script problem but idc.

Limited
November 19th, 2009, 05:17 PM
Silent, that is very nice of you.

However, I don't get the issue now with 1.09; version changer is out and using the exe i just put out to update sapp, wont all of your shit still work? I mean it should. 0 memory addys are shifted as its a modified 1.08exe and gameservers sees it as 1.09. The version check is removed from the 1.08exe allowing 1.09 to join.

Unless I am mistaken that means OS should work? Ive been drinking so ill check it out tomorrow.
The issue, is thats still 1.08 cleint, hense the IE fix and ram issue isnt included.

In other words, we are at square one, apart from the 1.09 build number has been included into version changer, which would have taken me about 5 seconds to add to my OS project.

Kornman00
December 8th, 2009, 11:29 AM
For the sake of fucks, I added a RAR with the source files whom were changed in order to accommodate major bug fixes (ie, in the settings and hud view) along with a readme detailing what exactly was changed for the curious.


There appears to be confusion on how to create hs functions with parameters. Show to hopefully get FireScythe rolling or figuring out what he is doing wrong (or if maybe there is a problem even in the SDK), here is a small reference:

When adding new functions there are a couple of source files which you'll need to modify:

Game/ScriptLibrary.inl

__SCRIPTLIBRARY_ENUMERATIONS region: defines the order in which the definitions are added to the yelo hs functions/globals. The order here MUST match the same order in __SCRIPTLIBRARY_DEFINITION_LISTING.

__SCRIPTLIBRARY_DECLARATIONS region: Here is where you use the DECLARE_HS_* macros to actually declare the functions/globals you want to expose. Note that these DECLARE_HS_* macros can be placed in other source files (said macros are defined in ScriptLibrary.hpp).

__SCRIPTLIBRARY_DEFINITIONS region: Here is where you use the HS definition macros to actually put a meaning to the declarations from earlier. Since the macro implementations are defined in ScriptLibrary.cpp, the definitions can only exist here and not in say GameEngine.cpp.

__SCRIPTLIBRARY_DEFINITION_LISTING region: Here is where you define the yelo functions/globals which can be accessed in HS. The order here MUST match the same order in __SCRIPTLIBRARY_ENUMERATIONS.


Game/ScriptLibrary.cpp

InitializeLibrary function: here is where you initialize the hs definition with the script function's delegate. Structure is outlined for Debug/Release and User/Dedi specific constructs.


How to define the script function's delegate



void* [FunctionName]Evaluate(void** arguments)
{
struct s_arguments {
[arguments declarations]
}* args = CAST_PTR(s_arguments*, arguments);
[function logic]
return NULL; // or if the function is suppose to return a value, cast to "void*"
}


Example:


bool VolumeTestPlayerTeam(int16 trigger_volume, int16 team_index)
{
return true;
}
void* VolumeTestPlayerTeamEvaluate(void** arguments)
{
struct s_arguments {
int16 trigger_volume;
int16 team_index;
}* args = CAST_PTR(s_arguments*, arguments);
bool result = VolumeTestPlayerTeam(args->trigger_volume, args->team_index);
return CAST_PTR(void*, result);
}


NOTE: You should be struct layout smart if doing anything with more than one parameter.


NOTE: If you don't understand why exactly a transexual type like "void*" is being used here, you probably shouldn't be dealing with code at this level. Get a low level engineer to join your team/project.

And no, I'm not for hire. Unless you have deep pockets.



I now realize that I didn't stick to one naming scheme: it's either parameter or argument. Semantics or not, should have stuck with one.

FireScythe
December 8th, 2009, 02:27 PM
Ok, so under __SCRIPTLIBRARY_ENUMERATIONS


//////////////////////////////////////////////////////////////////////////
// Functions
enum hs_function_enumeration : int16 {
//_hs_function_null,

_hs_function_volume_test_player_team,
_hs_function_volume_test_player_team_all,
_hs_function_player_team_teleport,
_hs_function_player_team_players,

//PostProcessing//////////////
_hs_function_pp_load,
_hs_function_pp_unload,
_hs_function_pp_set_effect_active,
//PostProcessing//////////////

// debug functions
#ifdef API_DEBUG
_hs_function_test_networking,
#endif
k_hs_function_enumeration_count,
};


under __SCRIPTLIBRARY_DECLARATIONS


//////////////////////////////////////////////////////////////////////////
// Functions
//DECLARE_HS_FUNCTION(null);

DECLARE_HS_FUNCTION_WITH_PARAMS(volume_test_player _team);
DECLARE_HS_FUNCTION_WITH_PARAMS(volume_test_player _team_all);
DECLARE_HS_FUNCTION_WITH_PARAMS(player_team_telepo rt);
DECLARE_HS_FUNCTION_WITH_PARAMS(player_team_player s);

//PostProcessing//////////////
DECLARE_HS_FUNCTION(pp_load);
DECLARE_HS_FUNCTION(pp_unload);
DECLARE_HS_FUNCTION(pp_set_effect_active);
//PostProcessing//////////////

// debug functions
#ifdef API_DEBUG
DECLARE_HS_FUNCTION(test_networking);
#endif


under __SCRIPTLIBRARY_DEFINITIONS


//////////////////////////////////////////////////////////////////////////
// Functions
//HS_FUNCTION(null, void, "", "");

HS_FUNCTION_WITH_PARAMS(volume_test_player_team, bool, "returns true if any players of the specified team are within the specified volume.", "<volume> <team-index>", 2,
HS_TYPE(trigger_volume),
HS_TYPE(short)
);
HS_FUNCTION_WITH_PARAMS(volume_test_player_team_al l, bool, "returns true if all players of the specified team are within the specified volume.", "<volume> <team-index>", 2,
HS_TYPE(trigger_volume),
HS_TYPE(short)
);
HS_FUNCTION_WITH_PARAMS(player_team_teleport, void, "moves the specified team to the specified flag.", "<team-index> <cutscene-flag>", 1,
HS_TYPE(short),
HS_TYPE(cutscene_flag)
);
HS_FUNCTION_WITH_PARAMS(player_team_players, object_list, "returns a list of players on the specified team", "<team-index>", 1,
HS_TYPE(short)
);

//PostProcessing//////////////
HS_FUNCTION(pp_load, void, "loads post processing");
HS_FUNCTION(pp_unload, void, "unloads post processing");
HS_FUNCTION_WITH_PARAMS(pp_set_effect_active, void, "instantly set an effect to on or off", "<effect-index>", 1,
HS_TYPE(short)
);
//PostProcessing//////////////

// debug functions
#ifdef API_DEBUG
HS_FUNCTION(test_networking, void, "");
#endif


and under __SCRIPTLIBRARY_DEFINITION_LISTING


//////////////////////////////////////////////////////////////////////////
// Functions
static hs_function_definition* hs_yelo_functions[] = {
//&GET_HS_FUNCTION(null),
&GET_HS_FUNCTION(volume_test_player_team),
&GET_HS_FUNCTION(volume_test_player_team_all),
&GET_HS_FUNCTION(player_team_teleport),
&GET_HS_FUNCTION(player_team_players),

//PostProcessing//////////////
&GET_HS_FUNCTION(pp_load),
&GET_HS_FUNCTION(pp_unload),
&GET_HS_FUNCTION(pp_set_effect_active),
//PostProcessing//////////////
// debug functions
#ifdef API_DEBUG
&GET_HS_FUNCTION(test_networking),
#endif
};


then InitializeLibrary and the function delegate


void InitializeLibrary()
{
//GET_HS_FUNCTION(null).evaluate = (hs_evaluate_proc)GET_FUNC_VPTR(HS_NULL_EVALUTE);

// Come back later please...under construction
NullifyScriptFunctionWithParams( GET_HS_FUNCTION(volume_test_player_team) );
NullifyScriptFunctionWithParams( GET_HS_FUNCTION(volume_test_player_team_all) );
NullifyScriptFunctionWithParams( GET_HS_FUNCTION(player_team_teleport) );
NullifyScriptFunctionWithParams( GET_HS_FUNCTION(player_team_players) );

#ifdef API_DEBUG

#ifndef YELO_NO_NETWORK
InitializeScriptFunction(Enums::_hs_function_test_ networking, MessageDeltas::TestToNetwork);
#else
NullifyScriptFunction( GET_HS_FUNCTION(test_networking) );
#endif

#endif
MemoryUpgradesInitialize();

InitializeCreateScriptFunction();

InitializeScriptFunction(Enums::_hs_function_pp_lo ad, Yelo::PostProcessing::HS_Load);
InitializeScriptFunction(Enums::_hs_function_pp_un load, Yelo::PostProcessing::HS_Unload);
InitializeScriptFunctionWithParams(Enums::_hs_func tion_pp_set_effect_active, Yelo::PostProcessing::HS_SetEffectActiveEvaluate);

AllowFullAccess(true);
}

void* HS_SetEffectActiveEvaluate(void** arguments)
{
struct s_arguments {
int16 index;
}* args = CAST_PTR(s_arguments*, arguments);
return NULL;
}


Set up like this, pp_unload and pp_load work as expected, but pp_set_effect_active exceptions without reaching HS_SetEffectActiveEvaluate.

Kornman00
December 8th, 2009, 03:01 PM
Funny thing is...all the functions are initialized before InitializeCreateScriptFunction is called...which sets up the function template code bytes (hs_eval_func_no_param/hs_eval_func_has_param) with some pointer values. I've only ran tests with everything initialized in that same part of the function, not after InitializeCreateScriptFunction. Ummm...try that. I've had functions with parameters run just fine like this ;x.

Also, you're not consistant in your declarations vs definitions.

FireScythe
December 8th, 2009, 03:42 PM
Well I opted for putting them after InitializeCreateScriptFunction because if they are put before it, then no functions work :saddowns:, they all exception. But if you have had it work on your end, it might be something screwed up on mine.


Also, you're not consistant in your declarations vs definitions. Fixed.

Kornman00
December 8th, 2009, 05:00 PM
Yeah, the fact that it was working for me (was, because I can't test the code due to not having a machine with the ability to run HaloCE) makes me :confused: since the code was before that Init function :ohdear:

I know for a fact that it was working because I had a debug function that I made for testing future heatmaps based on parts of the map from the player's FOV. Don't see why I would have changed anything after I knew that script function creator was working. Now is one of those times it would be nice to have a server to run a SCM on.

EDIT: the only other thing I can figure being the problem is the function's call type. IE if it is cdecl or stdcall. All OS functions are stdcall, but the game engine is cdecl. The script function delegates are suppose to be stdcall btw. I have the vcproj settings set to assume stdcall on functions unless otherwise specified. So if someone messes around with the vcproj settings, this can lead to problems.

FireScythe
December 9th, 2009, 09:58 AM
I've had a go will a fresh OS RC1 but the same problem occurs. Any functions put before the init function cause an exception (including test_networking) and putting functions that don't have parameters after the init function work fine.

However, if a function with parameters is the first to be initialised after the init function then it will call the delegate successfully, albeit without the arguments being accessible. Functions with parameters after that still exception though.

I checked Calling Convention was set to __stdcall too.

Dwood
December 13th, 2009, 09:35 AM
Another thing I would like to note is that you were trying to set Developer_Mode = 4 and for some reason it wasn't working so we made it such that when a map starts up, it is set to 4 instead, which works when for some odd reason the way you had it previously didn't work.

Rambo
January 4th, 2010, 02:15 AM
OK I know I brought this up before but I'm having trouble finding the page.

I am attempting to write a switch_lightmap and structure_lightmap_index function set.

What do I use for the Argtype, Returntype, and Name, for switch_lightmap, and what do I use for the Argtype, Returntype, and Name, for structure_lightmap_index?

I have tried setting the Argtype to string or real and the returntype to string and the name to string and any time I compile a simple test script with the following, it crashes Sapien.

(script continuous test
(switch lightmap rambo)
)

rambo = the codename in the lightmap set string in the project_yellow tag.

I am stuck, trying to create new functions in the XML tag when building it in Cheape.

Dwood
January 4th, 2010, 03:11 PM
I will help you out a bit with the xml when i get back home.

Rambo
January 4th, 2010, 06:40 PM
thanks.

EDIT: hey when are ya gonna help me? Last night came and went.

Kornman00
January 6th, 2010, 10:23 AM
In the coming months I'll be updating the Kornner website with publications and works that I've been meaning to put up. Some of which will be related to this and/or Halo. Other stuff will just be generic to the Xbox platforms or other engineering stuff. Some people may find the works interesting.

Goal is to have the site at v3.0 at the end of May/start of June. As things get posted there I'll be sure to update threads here if they relate.

Rambo
January 8th, 2010, 05:26 PM
It keeps doing it. Every time I add new commands via the XML code, under the current build of OS, it crashes Sapien when I try to compile a script with the new commands. The new four commands that come with OS work fine though.

I need help with this, bad!

Kornman00, if I add structure_lightmap_index and switch_lightmap to the XML and set it up properly, will it still crash OS if I compile with it in Sapien? How can we fix this so I can use the commands in a compiled script?

All I want to do is read from the BSP section in the Project Yellow tag and pull a BSP and a Lightmap number from that list.

For example, if on BSP 0 I have 64 Lightmaps as well as on BSP 1, I want to be able to say to the program, "OK check what BSP it's on from the BSP Sets and then switch the Lightmap to such-and-such Lightmap." That's it. I also want to switch BSP when necessary from the BSP Sets without affecting the main BSPs in the .scenario tag.

My Day-Night system is going to have 128 Lightmaps spanning 2 BSPs in a BSP set type of setup in the project_yellow tag with more than 8 skies.

HOW CAN WE DO THIS???

Dwood, I need help with the XML part and if anyone at all is interested, I need a programmer for the DLL part, or someone that can explain to Chaos what to do so we can program it ourselves. Yes I understand the Lightmap code is RUDIMENTARY! I know that. But I want to finish it!

Dwood
January 8th, 2010, 05:52 PM
Yes, I know you need help but atm I'm not home. and won't be till monday. And calm down too. :P