so really anyone can learn how to program it just takes time freelancer.
Printable View
so really anyone can learn how to program it just takes time freelancer.
My "c++ n00b" response:
cout << "Freelancer, stop posting!" << endl;
return 0;
I suppose I should have put in my compilers as well.
I can't really grasp the concept of how far OS can go so I have some nooby questions that may be a little stupid :-3:neckbeard:
- Would it be possible to program OS in such a way that it logs all players viewports, weapons and x/y/z coordinates on the server, so that you could replay a match like you can in Halo Reach?
- I use "disablealpharendertargets" in the init.txt to get rid of the scope blur. Would OS allow to make such changes and maybe even more advanced ones on-the-fly from the ingame video options menu? Maybe a Scope Blur On/Off option? Nvidia camofix?
- I use a cheap TN panel LCD. If you increase contrast you kinda increase brightness at the same time which then hurts the eyes. Still I like to have a little bit more contrast in Halo since it looks a little washed out, especially Bloodgulch. Would it be possible for OS to make a contrast slider in the video options menu?
First, read this because scripts are awesomez.
http://code.google.com/p/open-sauce/...riptInterfaces
1) You can view objects locations and angles, but I have yet to see anything for saving information to a file and later reloading it. If you have read the above link, object_data_get_real (unit (list_get (players) 0)) position x (repeat for y, and z. then for forward and y too) you can see their weapon with player_data_get_object 0 weapon0, etc.
2) Camofix is already there (at least its making camo run perfectly on my nvidia card lol. If it wasn't meant to do that for me, then I'd be confused as to why it is lol). if your running a console command you can include them in your map's scripts in a widget for turning on and off, or just use them from console lol. I don't see why you wouldn't be able to build a version of OS with that command binded to a key.
3) Post Processing. You can write a file that does whatever you want. you can have it multiply the color by itself, then + itself. That way the darkest areas receive less light since 0.1*0.1 is less than 0.8*0.8; the multiplied version will be overall darker since its decimal numbers, thats why you add it to the original version so it becomes overall more bright, but mostly in the brightest areas. you can continue to subtract some light if you want, but whatever; Basically do random math until it looks like what you want lol (yay for not caring what numbers you toss in!), there is a xml file so you can load your custom post processing files whenever regardless of map (you can compile them into tags too. thats always what I did for testing since I never got the xml working right for myself lol) If you go to that first link, and go back to the main page for the wiki, you'll notice some stuff on post processing, read it.
The original Synapse project (Cerebrum was the web interface) was going to include stats tracking. The way I was going to record stats was by actually recording the low-level events of the game, then postprocess it later (allows new stats could then be retroactively calculated, plus a few other ideas I had). Theoretically, this "film" could be played back. However, I never made (nor plan) source to Synapse (which was actually a plugin to OS) available.
So to answer your question, sure, it's possible. However, not by your suggested method (wouldn't 'fit'). Nor am I going to work on it. I've got other work opportunities outside the CE engine that are going to be taking all of my free time.
.dll creation and installition woes... Okay, so I have downloaded the source, and I opened the project for OpenSauce_PC. Upon first trying to compile, it complained about GameSpyOpen. So I figured out where to download and install that. Upon next compilation attempt, it yells at me about some "astfax.h" file or something (idr, I can't get it to bring this error back). Finally find out it has something to do with MFX (which I already have, so I just tell it to use those include files).
Next, it complains about line 74 in GameSpyOpen/common/gsCore.c [Some type of function cast error]. So, I just decide to comment out that block. (It's not much, just something about exiting). I was so excited, the next time I hit "F7", it compiled just fine! Created my .dll file, and I placed it in the HaloCE folder.
Upon running HaloCE, it tells me that it "Cannot allocate required memory. Some other application has loaded where Halo needs to be located", and then freezes at "Gathering Exception Data". Strangely, I can only replicate this problem 5/7 times so far. When it does run though, it crashes directly after the splash screen. Any suggestions, or anything I'm doing wrong? Perhaps I have downloaded the wrong libraries? I downloaded the libraries that were required from the first post (I already had DirectX, so in reality all I downloaded was Boost. I found out I needed the GameSpyOpen library after I tried compiling)
EDIT: Please excuse my stupidity. I just released that I had downloaded from the repository, instead of the link you had lol. Also, I still get the error about not being able to include "afxres.h". I should be able to fix that though.
EDIT2: So this is only compatible up to 1.08... Wonderful, wish I would've known about this _before_ I had went through all this downloading and trying to get this to work. What exactly stops me from using this with 1.09? I'll be looking through the code to see if I can change anything, but if someone could point me in the right direction before hand it'd help _a lot_.
EDIT3: I apologize for making you potentially waste your reading time. However, I have been googling and have found a potential ver changer. I shall try this and report back.
EDIT4: Alright, so I tried using the version changer. No avail. So instead, I uninstalled, reinstalled, and patched up to 1.08ce. Now it tells me I have a corrupt exe when trying to boot with the d3d9.dll. I think that this is where I end my quest to try to get this to work.. Nothing on google is helping me, and I can't seem to figure this out...
The most up to date code is found in our repo. All new updates are discussed here.
You need DX and boost, but you don't need GameSpyOpen. In Common/Precompile.hpp, comment out line 74 (at the time of this post) where we define YELO_USE_GAMESPY_OPEN.
afexres.h is included in Halo1_CE.rc. That's stuff auto generated by VC++. If you're using Express, that's probably your problem.
The only supported version of HaloCE is 1.09. It's possible to compile the code for 1.08 (see Common/Platform.hpp), but that stuff never gets tested and thus we don't support it. Main.cpp checks the version of the game and will give an error if you try to run it with anything other than the version it was compiled for. It will also give an error if an application besides the HEK or CE tries to load the .dll.
Version changer only changes the id and build string used by the gamespy protocol. It's pointless for anything else.
Kornman, thank you for pointing all this out. I have commented that line out. And yes, I am using VC++, but it no longer complains about that. However, it seems to be complaining during linking now. This is only one line out of about 25:
YeloSettings.obj : error LNK2005: "void __stdcall Yelo::Networking::VersionCheck::Initialize(void)" (?Initialize@VersionCheck@Networking@Yelo@@YGXXZ) already defined in GameSystems.obj
Now, I did a search through the whole project for VersionCheck::Initialize, and found only two instances, which were both on the same line. Commented that out, didn't change a thing.
What should I be using to compile this other than VC++? I can't seem to figure out this problem.
EDIT: Going through some of your code, I love what you put in places xD "Step 1: Bash head on keyboard. Step 2: Repeat."; "(FU)this version isn't supported". Great coding btw.