Welcome to Open Carnage

A resource for gamers and technology enthusiasts, with unique means of rewarding content creation and support. Have a wander to see why we're worth the time!

002

Manager
  • Content count

    3,692
  • Joined

  • Last visited

About 002

  • Birthday 04/10/1995

Extra Information

  • Gender
    Male
  • Location
    <127.0.0.1 joke here>
  • Occupation
    <Another 127.0.0.1 joke here>
  • Interests
    24.9% interest
  • Contributed
    $100 (US) to Open Carnage
  • Raffle Victor
    One-time

Contact Methods

Computer Details

  • Name
    Black Comet
  • Central Processor
    Intel Core i7-6700K
  • Motherboard
    Gigabyte GA-Z170-X-Gaming 5 ATX
  • Graphics
    MSI GeForce GTX 1070 Gaming 8G @ 2139 MHz
  • Memory
    2x 8 GB Corsair Vengeance LPX DDR4 @ 2666 MHz 15-17-17-35
  • Storage
    250 GB Samsung 850 EVO SSD
  • Power Supply
    750 W 80+ Gold EVGA G2
  • Case
    Fractal Design Define R5
  • Display
    1080p ASUS junk
  • Keyboard
    MAX Keyboard Nighthawk X9
  • Mouse
    Logitech wireless junk
  • Operating System
    Windows 10

Recent Profile Visitors

29,217 profile views
  1. A week ago I overclocked my monitor to 1080p at 74 Hz. Today, I've discovered that it could natively do 75 Hz output if I drop the resolution to 1152x864, and at 864p, I can take it up to 77 Hz before it says "OUT OF RANGE" on the display. Basically, I've had this monitor for nearly two and a half years without knowing it could output 75 Hz natively. I don't like the drawback of dropping to 864p for only 3 Hz, so I'll probably stick to 1080p at 74 Hz, but I've learned something new I guess. Either way, it's a substantial improvement over 60 Hz.
  2. One thing I've been working on is the ability to spawn objects. There are a few uses for this. Scripting is probably the main thing that many people will think about. There are other uses. For example, I can use this to fix the phantom grenade glitch. This is a bug in Halo's netcode where if a player was killed while holding a grenade, an invisible explosion would appear. This fix requires the Chimera script to be running on the server, however.
  3. I'm glad you like it. Lots of people like @Tucker933 felt similarly; he's been playing the game with the 30 FPS cap on for all this time. I spent those years just biting the bullet and dealing with it with the frame rate unlocked. Actually, I've been approached at least once before to help fix up Halo 2 Vista. My response has always been that I don't know enough about Halo 2 Vista to pull off the same thing. I'd also have to buy the game, too, and also come up with a way to inject my code into Halo 2. The amount of time required to do this for how few people are playing it just seems more trouble than it's worth. If you must know, I've been dicking around with Halo PC since I was in elementary school. While I can no doubt take my previous knowledge and apply it to Halo 2 Vista, I do not know how long it'd take, as I don't have the virtually unlimited free time I had back then. I don't know what state its be in when I'm done if it'll even have a community. With how I did interpolation, I was lucky that Halo CE was written in such a way that it wasn't hard to implement, relatively speaking. In fact, it's entirely possible it could be applied to the source code.
  4. I forgot to mention that with Chimera's lua scripting, if you create a folder called chimera_lua in your -path folder (by default, the My Games\Halo CE folder), then you can put Lua scripts in here without having to insert them into your map. The filename is the same as the map name, but instead it ends with .lua. Note that if Chimera detects a script in here, then it will load this instead of the script in the map file. There's also an unlisted command, chimera_reload_lua, which can be used to reload the Lua script without the need to reload the map.
  5. Yes. Not at the moment. Currently I'm only working with one group for testing the server stuff, and this is because of the nature of how these updates work. If you need to know what's going on, I'm currently working on getting vehicles going. Controlling the vehicles is smooth as butter and has little to no warping whatsoever - a great improvement over stock Halo. However, vehicles other players are controlling are a little worse than stock aside from the fact that they don't warp now. There's a bit of jitteryness going on, mainly. As for bipeds, they're much better than stock aside from slight jitters that may happen on occasion, and this is mostly mitigated by interpolation. Player control feels exactly or close to exactly like hosting the game yourself in LAN, except now you have analog movement if you decide to use a controller. You can do tricks like nade jumping and you'll be fine as long as you have a decent connection.
  6. If anyone wants to play around with the current version of the Lua scripting thing I wrote for Chimera, here's what you'll need: Chimera build -363 (to be able to use Lua scripts): chimera build -363.7z Lua API information: https://docs.google.com/document/d/1noKt8eTJE_8ozxT_RSbBYx2PPciw5hYOdxLgTm9fSyM/ (note that this is updated as I add functions and by the time you download -363, you will most likely have an outdated version of the Lua scripting API) chimera_ltool.exe (for inserting Lua scripts into map files): chimera_ltool.7z If you want some example maps: boardingaction_grav_6.7z (Boarding Action with reduced gravity between the ships, as well as gravity that pulls towards the ships rather than just straight down) set_callback("tick","OnTick") clua_version = 1.0 abs = math.abs MIDDLE = 10 DISTANCE = 9 function OnTick() for i=0,2047 do local object = get_object(i) if object then local x_coord = read_f32(object + 0xA0) local velocity = read_f32(object + 0x70) local z_coord = read_f32(object + 0xA8) if x_coord > MIDDLE - DISTANCE and x_coord < MIDDLE + DISTANCE and z_coord > -6.0 and velocity ~= 0.0 then local difference = abs(MIDDLE - x_coord) local scale = (1 - (difference / DISTANCE)) * 0.85 + 0.15 if difference < DISTANCE * 0.15 then scale = 0.95 end local grav_scale = 1.0 if read_u16(object + 0xB4) == 5 then local tag_data = read_u32(get_tag(read_u32(object)) + 0x14) grav_scale = read_f32(tag_data + 0x1CC) end if z_coord > 10.0 and velocity > -0.01 then scale = scale * (20.0 - z_coord)/20 if scale < -0.15 then scale = -0.15 end end write_f32(object + 0x70, velocity + 0.003665 * scale * grav_scale) if difference > 2.0 then local x_velocity = read_f32(object + 0x68) local x_scale = (1 - (difference / DISTANCE)) * 0.85 - 0.15 if x_scale < 0 then x_scale = 0 elseif x_coord < MIDDLE then x_scale = x_scale * -1 end write_f32(object + 0x68, read_f32(object + 0x68) + x_scale * 0.003665 * grav_scale) end end end end end pacmanthing_1.7z (a Pac-Man maze where the hallway in the middle maintains relative position and momentum when an object crosses it) set_callback("pretick","OnTick") clua_version = 1.0 SIDE_A = 59.988 SIDE_B = 80.388 DIFF = math.abs(SIDE_B - SIDE_A) function OnTick() for i=0,2047 do local object = get_object(i) if object then local otype = read_u16(object + 0xB4) local owner = read_u32(object + 0x11C) if otype < 6 and owner == 0xFFFFFFFF then local x = read_f32(object + 0x5C) if x < SIDE_A then write_f32(object + 0x5C, x + DIFF) elseif x > SIDE_B then write_f32(object + 0x5C, x - DIFF) end end end end end
  7. You could write a SAPP script to change these values in Halo's tag data, but what I'd do is open ratrace.map in Spark Edit, go to the frag grenade that you want to remove, then either move it below the map or delete it. You can change the respawn timer using a modding tool such as Eschaton. This is another thing that can be solved using Eschaton. Go to the cyborg_mp biped tag, go into the biped flags (it's a bitmask32 value in Eschaton) then enable the "Passes through other bipeds" flag.
  8. That's not what nitpicking means, as it would have meant I found errors in your sentence, which I acknowledged that some outlets do run on 110 V, but most are 120 V with some outlets being 240 V. And no, it's not exact. I get about 121 V from the wall typically.
  9. 220/240 V outlets are used in the US, but those are usually for larger appliances like dryers and refrigerators and they use a different socket. Voltage in the US is actually typically around 120 V. Some still get 110 V, but devices should tolerate either.
  10. For compiling, you can compile the Lua script if you want to, but it's not required to insert into a map. To compile, you'll need to run luac on your Lua script. While there are several advantages for doing so (slightly shorter load times and prevent users from tampering with your script), your script will only work for the Lua version and architecture you used with luac. For more information, check here: https://www.lua.org/manual/5.3/luac.html For loading it into a map file, the Lua script can be inserted into the map file using a tool I wrote, or it can be loaded if it's found in the chimera_lua folder. The latter part is useful for testing.
  11. Chimera's Lua scripting functionality is currently limited in terms of callbacks, but you do have full access to reading and writing to Halo's virtual memory like SAPP, thus you can edit tag data. https://docs.google.com/document/d/1noKt8eTJE_8ozxT_RSbBYx2PPciw5hYOdxLgTm9fSyM/ aLTis has been the only person who has directly tested this, and he was able to do things like sync bipeds (he used console messages and rcon for this) as well as adding HUD swaying when walking.
  12. Chimera's Lua scripting isn't the same as SAPP scripting, but I suppose you could swap FP models. And yes, only alpha builds will have Lua scripting until it's stabilized.