Edited 8/10/2010
Hi, I was curious to what CE users thought about a Forge like application and if any developers would perhaps enjoy lending a hand in the project. I think after the new OpenSauce is released, I will use that as a base instead and improve upon it. I am in the process of cleaning up and familiarizing myself with the code already written, since it's been a year from when I last worked on it. I was still visiting this site and everything and I was sad to see Real Time Tag Editor to not be released :[ It seemed to be something useful to the community. This app does the real time tag editing as well as a map editor like Forge. The code I had done was moving live objects around with the cursor like in Spark Edit(throwing Masterchiefs around like rag dolls is hilarious) and drawing nametags on objects to display it's imformation as well as a basic d3d gui for a menu. I have most of the tag layouts hard coded already, I wasn't really interested in the XML stuff. I am more towards using memory mapping and pointers instead of reading and writing maps.
There is plans for implementing a multiplayer editor where 16 players will all be able to modify the map/game at the same time and yes it does sync. I have tested some simple edits with a client and everything registered on the server. I hooked the existing socket so every time a packet is received or sent, it's through the server connection in Halo instead of outside the game on a new connection. A unique key is in the packet header so you know you can trace which packets are for Forge. It just has to send the memory address of the data change and the data itself.
I needed help with developing a GUI menu. I was originally drawing every line and box manually with D3d, but that is gpu expensive compared to creating a menu in photoshop and drawing it as a sprite. I was thinking about doing a garys mod type menu, it's really slick and user friendly. If someone wants to help develop this let me know.
Here is a video I posted up of current progress, a year ago when I stopped working on it. As you can see, yes its buggy and not much to show right now but alot of code and time was put into this.
All this video shows is moving objects around and basic nametags, but it will eventually display the objects information instead. No gui in this yet. Flycam action at the end, which I need help with its buggy. OH and I will disable the gun shooting when moving an object, that was pretty annoying during testing.
Features Done or Being Work On:
- All placeable objects are movable down the XY and Z axes with your mouse.
- All objects have nametags, which are taken from the map memory and parsed
- Custom world space to screen space algorithm
- Direct3D device is completely hooked and does not interfere with other apps that also hook Halo's device
- Console is hooked for remote control
- Flycam is in progress, buggy
- Lots of data structures and helper functions
Things I Want To Do:
- update flycam
- Be able to have up to 16 players mod the same map and all see the changes, need to read up on my win32 sock programming
- When moving objects, allow them to stick and slide along bsp, need to research collision detection
- Forge in flycam mode only, like Halo 3, which will fix many problems
- Be able to move MP flags and spawn points
- Use Halo's rendering code to draw custom 3d objects in teh Halo game world, something I worked on for while, especially to mark spawn points, bounding boxes would be slick
- Custom reticle when in forge mode
- Direct3D GUI to control all options and to edit tag and object data
- Scale nametags based on distance
- Use Halo engine to draw text for faster rendering
- Be able to rotate objects, Pitch/Yaw/Roll easily
- Reverse the entire map structure, especially all the tag data xD I've done alot of it using Guerilla
Currently the project is open sourced by myself and Abyll, but if other coders decide to help, it is completely up to their discretion. I won't post the link just yet, it's on an SVN server, so you need to be a project member anyway, unless you just want to view the source in html.
I'm not looking for attention, this is something I've been wanting to finish for a very long time and to push the pc modding community forward with something new and innovative. Any ideas and help that can be offered would be great.