Welcome to Open Carnage

A resource for Halo Custom Edition and MCC modding, with unique means of rewarding content creation and support. Have a wander to see why we're worth the time!

EST. 14th of February, 2012

Zatarita

Member
  • Content count

    123
  • Joined

  • Last visited

  • Raffle Tickets

    0

Everything posted by Zatarita

  1. Radium is now powered by reclaimer! a lot of programming efforts was going into reinventing the wheel. I was still using my incomplete Core SDK I started months ago. Breaking from that should allow me to focus more on features. *Please note these are all optional* Current features in development: script consolidation - no more 4 script limitations! Spread out your scripts into as many files as you like. Radium will consolidate them into one at compile. This should help larger projects keep more organized. This is done with a c style include, or module style “from ____ import ______” Internal reference resolution - access the initial data from the scenario as parameters for functions. This will allow you to do things like sv_say <primary_starting_profile.primary_weapon.filepath(arg=FILE.baseName)> and radium will fill in the name of the starting primary weapon when it consolidates the script. The arg just strips out the file name from the entire path. This should help generalize scripts external reference resolution - let’s you import a tag, and use it just like with an internal reference; however, it allows you to gather information from a tag that won’t be built into the map. Only has access to the initial information, if you want real time data use LUA. This should help generalize Scripts. integrity check - verifies syntax and checks for errors before sending to sapien for compile. This should help debugging by giving error highlighting. Multiplayer desync checker - gives warnings when a command is used that won’t work in multiplayer (this is far on the back burner) besides that, Auto Back-up, auto save, autocomplete, custom definitions (with hsc, lua, and sapp predefined) the defines follow this format: Return : functions : parameters : description eg void : sv_say : string : print message currently I have the basic IDE functionalities defined.
  2. Weclome! I've been working on a new tool to hopefully fill a gap. Radium is going to be a recorded animation creator, and edit. As well as a halo script IDE. I have a small bit of work done at this point, and I wanted to give a run down on what to expect. Starting off with the recorded animation editor. by the initial release I plan to be able to read and edit all recorded animations inside a compiled map, and a scenario file. I decided on working with a project space, instead of modifying individual scenarios at a time. So you can bind as many scenarios as you like to the project. The primary window will have a opengl context which can render actors, as well as vehicles. It will be able to load each of the units in a map, and you can chose which the ra will run on for preview. Each of the vectors can be modified with a rotation gizmo. Along side that is a timeline scrubber, where you can add key points and interpolate between the keys. The timeline will have a curve modifier so you can adjust the weights of the interpolation. Radium will save the recorded animations to the scenario. For convenience it will also be able to call tool (or tool variant) to compile the map(s). basically for beta release I plan to have the following for RAs done: Create a Radium project [x] Bind scenarios to that project[x] Load existing RAs from scenarios[ ] Load existing RAs from compiled map [x] Load RA from a exported snipping. Find any scripted references to the RA and list which units it's actually used on in game[ ] modify/create recorded animations[ ] Timeline scrubber to preview RA[ ] Keys that can be interpolated between (rotations) [ ] Keys that can change player control state (start crouch, start jump)[ ] Keys that can change the players walking direction[ ] Keys that can bind scripts to be called at specific times during RA (say, when character starts to run, call the script that destroys the warthog)[ ] Keys that call other recorded animations to play, while this one pauses and waits for return.[ ] Save the recorded animations to the scenario[ ] Call tool functions to compile map (Convenience) Call halo ce with devmode and console (if you don't already have a seperate shortcut for it already) This would be enough to get us started making custom RAs for halo. Now since halo script, and recorded animations are closely related, I decided I wanted to go ahead and include an IDE into Radium for halo script. This will also be able to gather the scripts in precompiled, and compiled maps and allow us to edit them in the window. I plan to have full syntax color styling, and auto fill. Since radium binds to the scenario, it will also be able to gather any references, and autofill the correct tag type into scripts for you based on the tags in the map. (say you call 'Recording_play <unit> <RA>' It will automatically fill in the available units in the scenario, and the available RAs in the scenario, and throw errors if you entered something not found.) The script editor will also be able to autofill function return types as well. Since Radium has access to the scenario information it will also be able to implement "compiler directive" style commands. It can dynamically fill in tag data from the scenario into the script when it saves/compiles the script. Say for example you want to check to see if a specific tag is available in a map, you can ask radium to check if it exists. It will fill in the true or false when it saves the script. This could also be used for anything really. Say...the name of a tag with local directory, which dependencies it has, how many dependencies its dependencies have, etc. I'm going to ATTEMPT to hook to sapien's .exe and try to find it I can get the function location for compiling scripts. If I can, with a reference to sapien, I could compile a scenarios scripts from inside the editor, and output sapiens output to the output box in radium. This would allow for you to work all in one place, while still getting the scripts compiled the same way they would be if radium hadn't been used. for beta release I plan to have the following: Create Radium Project [x] Bind scenario(s) to the project [x] Load existing scripts from map [x] Decompile script data + find string references. [ ] Load existing scripts from scenario [ ] Decompile script data + find string references. [ ] Modify existing, or create a new script Create script from exported snipping Dictionary for tags in scenario [ ] Dictionary for scripts (with return types) in the scenario [ ] Dictionary for globals in the scenario [ ] Save the scripts, and organize in the scenario folder. [ ] (Compile the scripts by calling sapiens script compile function [ ]) Gather tag information dynamically from scenario at compile. [ ] Beside that there will be some quality of life things like autoback up, and autosave. a few last notes: Everything with an x is what's been done already. After some discussion it will end up open source once it's all said and done. I do work two jobs, so it might take a bit to finish; however, projected time until a beta release could be a month or two. I plan to update this thread as I go so you can follow along with development. Here are some pictures of the progress. I'm not the best at UI design (this is actually my first attempt at a UI with c++ instead of .net); however, I plan to make all the colors customizable as well. (Sorry for the activate windows, I downloaded the windows 10 beta, then it crashed and fucked me out of my windows 8 legit key. I'm not giving them my money again -.-) If there are any features you think would be nice to implement, let me know and I'll see if I can make it happen c:
  3. That’s strange, have you had any updates recently? Sometimes windows updates affect drivers, try updating your drivers for your graphics card. Also, maybe something that has an overlay is causing issues. Maybe try closing things like discord. Not sure if DXdiag would help, but you can try running that too. It will test directX for you. That’ll rule out that as an issue. maybe halo is running in an unsupported resolution. Have you updated halo to the newest version? It effects graphics options
  4. Can you extract the scenario with refinery and rebuild the map with tool? You might need to do some fixing, but if the trial map used default assets, you could just replace all the dependencies with CE tags if you send me the map i can see what I can do for you. (there may be some trouble because it’s a single player map originally so no promises)
  5. EDIT: it might not help with 60 fps, but I’m going to leave it in case others find useful You can also try to use some of the arguments for executing halo. If you right click the short cut you can add arguments at the end. There are a few that impact graphics. Excerpt from http://haloce.halomaps.org/index.cfm?nid=309
  6. Update: the world is ending and both my jobs are considered essential. So I'm working 80 hours a week. I'm working when I can. Current status is I broke everything and need to reprogram core. During optimization I found a lot of redundant code that I could generalize into a parent class. Mostly parsing data, and saving data. Been working on a generic data class. Most progress has been programmatic
  7. Hey! I'm sure this is pretty basic, and probably already across the net; however, I figured I'd share it here as well. I was screwing around with some hex and looking around. The "maps/images" (.blf) are basically just jpgs with some header info. I believe the first 48 bytes are basically just a generic blam header, it's found across multiple file formats. then the next 20 bytes determine the map it corresponds to (unsure how) then the rest of the file is just a jpg. If you delete the first 68 bytes in a hex editor and save it as jpg most image viewers can open it.
  8. Progress has been mildly stunted due to a recent hospital visit. Good news is I'm ok, bad news is things might slow down a little bit. (Also gotta quit smoking :/) Progress has been being made though, I'm just focusing on smaller things. Started writing the functions to save the data that has been loaded. Also started working on loading the model data and rendering it to the openGL context.
  9. now shows the velocity/vectors accurately as steps with the delays coming before the event is processed also, event stream, and recorded animation header data is processed in event stream on left.
  10. Progress! It's been a bit of a rough battle, but I've basically caught up on progress on linux. Much still needs to be done; however, everything is loaded and running smooth. Spoilers for pics
  11. Welcome to the community! I do have to say that's a rather broad question; however, gbMichelle made a post a while back that might help. It covers many different tags and the tools we use to edit them Besides that you can always join our discord. I'm there and you can always shoot me a message any time c:
  12. Name off some of your useless skills you're low key proud of. For example. I can solve a rubik's cube in under 30s I'm interested to hear what you got
  13. Touché lol
  14. As in a deck of cards, or as in carpentry .-. bruh I don't think anyone can top that But it's not useless!!! Don't cut yourself short. People go to school to learn the things we do just tinkering around :DD a fellow hand Walker. Like I said before I did gymnastics for 10 years. I'm impressed. Takes a lot of practice c:
  15. Good, and bad news from the forefront: The parsing of the data is so going well; however due to a Windows crash I'm switching systems. Some things are going to change. I'm switching to Linux, which means I'll be migrating the project to GTK+ This means a bit longer on the projected dates; HOWEVER!!! This also means it will be cross compatible. The form might not stay stylized, infact I'm going to switch to a basic layout, and focus on stylizing for second major build.
  16. I love whistling myself, but not the standard style. I do a tooth whistle to make a cricket chirp sound But there's the standard whistle that most kids learn by pursing your lips, then the two finger whistle most people do when they want to whistle loud, there's a tooth whistle which is like the standard whistle, but you use your top teeth instead of upper lip, and a few variants for whistle languages. Also speaking of which did you know there are languages that uses whistles for phonetics!! It's really cool most of them are in remote mountain villages. Since it's loud, and doesn't destroy your vocal folds, they used it to communicate large distances. I love humming while whistling too. Get that spooky vibe going. When you said distortion I immediately thought throat singing under the whistle and I had many questions lol
  17. I know, I was being hyperbolic lol. there's actually a really big community for whistlers, have you ever looked into it? Which type of whistles can do you? I'd say breathing has a use; however, I'm still impressed none the less. Doing a better job than most people who existed before you if I might say so myself
  18. I dont believe I have. I think the only thing I shared was my music production like YEARS ago. There just be two beatboxers in the mix. Time for an OC beatbox battle c:< what made you decide to learn the alphabet backwards? One of my favorite lindquistic fun facts. Our alphabet is based on Latin, but the word alphabet comes from Greek's alpha beta. And you know most people would assume you mean making mods, but at this point I'm convinced you could type out a halo cache file in a hex editor
  19. I beat box, so the clicking actually sounds pretty impressive c: I also used to be a gymnast. I have to say, for a guy that's commendable. Hopefully if you keep up that level of flexibility you'll be flexin on all the elderly when you're older. (Embrace the pun)
  20. This is crisp! Definitely going to mess around with it a bit when I get home
  21. Bro! That's awesome! I send my best wishes.
  22. It's because sapien doesn't have support for multiple CPUs Open sapien, and don't select the scenario Open task manager, find the sapien process, right click it and click "set affinity" and disable everything except cpu 0. Or download ahobo which supports multiple CPUs c: Welcome to the community by the way! We're happy to have you c:
  23. Exciting stuff! It reads, and decodes all of the different control versions! literally took me all day to debug it x.x Did the thing! Also made the panels collapsible to reduce clutter. It parses all of the RA data as well. Had to make some minor tweaks to my core to accommodate for loading from a scenario; however, after two days of saying the magic curse words it worked! Next is to add the keys to the timeline scrubber, Write the openGL context, and read model data
  24. I find irony in this Edit: my God I didn't realize how far back I was