Posts: 94
Threads: 4
Joined: Sep 2009
I have recently "cracked" the .evt files in SOM. We now have the ability to delete,mass delete,duplicate, mass duplicate, store, and manipulate individual EVENTS from our maps that we create. I am starting this TOPIC because I am intending to add features to an existing program that I am working on.
When desiging maps what are some of the limitations or slow-downs people have faced??
I know personally, I have been annoyed that I couldnt copy/paste/rotate map parts...(that has been addressed) But, also I was amazed that When I delete sections of my MAP the items,objects and NPC dont delete with it...You have to go in manually delete your event and then delete the object one at a time.
Also, as soon as you write a cool event its very difficult to copy that event from MAP to MAP....or even object to object. It becomed very tedious. And as far as idea sharing its almost impossible to explain to someone else how cool your EVENT logic is....
What I am proposing is a program with features that may allow us to design EVENT(s) and share them with each other...to create a personal library.....in addition to giving us the power to duplicate,delete, and store EVENTS in a much more efficient way.
Cheers
KilroyFx
Posts: 2,272
Threads: 118
Joined: Dec 2013
I'd devised a command line tool for extracting events from evt files and concatenating evt files. I've spent a couple hours with a tool for dumping text from evt files, which includes a number of improvements to both tools. I'm not sure what you're up to, but if you've worked out the encoding of some or all of the event instructions you should document/share them.
If you need any advice on producing valid evt files feel free to ask. I gotta warn you it's more complicated than it might seem at first... that is to say, you might be producing invalid evt files for a long time and not even realize it. Also your files might work with map editor but not necessarily in game. So do rigorous tests.
Doing something like this takes some time. If you're proficiently skilled, you should get in touch with me so we can compare methodologies/notes on projects.
Posts: 94
Threads: 4
Joined: Sep 2009
Hmmm....wow you extracted the ASCII from a binary file. Why would you do that? And you concatenated the text....so you got part of a word like "Douche" and found another string like "bag" and your dos prompt spit out "DoucheBag". That's huge. You didn't extract anything but the text....those are not EVENTS thats just user strings like the name of the EVENT and a few sentences of dialogue.....
But I'm interested in something more edifying....How can you even begin to give me advice on producing Valid .evt files when you don't know the memory layout of the file...I mean how long is the header and what does it contain?? How many bytes long are the Event Headers, and the command body...How do the Events index themselves into the .map files?? Is the file interpreted as little endian or big endian or what?? Come on I know the answers to all these questions...but I figured that out after looking at the file for about an hour.
Should I really do rigorous tests?? I thought I would hack my way through and if it worked once, well then good-enough I will release it. How much time should something like this take...?? An hour for me and 6 months for you?? Since you believe this to be complicated that tells me already where you stand, your a phoney....If you can't understand this simple file format and parse it according to ascii,hex,decimal and manipulate it then spit it back out as a working .evt file in a day then you need to back to school.
Proficiently skilled?? Do you know how offensive you are....if you know so much why don't you produce some decent code and an interface instead of an excel spreadsheet that my girlfriend can do in 5 minutes....
Your ruining my TOPIC......I think some people will agree that your offensive and not helpful at all. I regret even making this post now....
Cheers
KilroyFx
Posts: 94
Threads: 4
Joined: Sep 2009
00 00 00 00 00 2C 00 08 00 0B 00 00 00 3D 00 18 00 04 59 DC 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 91 00 08 00 FF FF 00 00 8F 00 04 00 8C 00 0C 00 23 00 01 00 00 00 00 00 2C 00 08 00 0B 00 00 00 90 00 0C 00 23 00 02 00 00 00 00 00 8F 00 04 00 FF FF 04 00 96 00 08 00 00 00 0F 00 8C 00 0C 00 0F 00 04 00 00 02 00 00 90 00 0C 00 23 00 01 00 00 00 00 00 95 00 08 00 00 00 00 00 2C 00 08 00 0B 00 00 00 3D 00 18 00 15 58 B4 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 91 00 08 00 FF FF 00 00 8F 00 04 00 8C 00 0C 00 23 00 01 00 00 00 00 00 2C 00 08 00 0B 00 00 00 90 00 0C 00 23 00 02 00 00 00 00 00 8F 00 04 00 FF FF 04 00 96 00 08 00 00 00 0F 00 8C 00 0C 00 0F 00 04 00 00 02 00 00 90 00 0C 00 23 00 00 00 00 00 00 00 2C 00 08 00 07 00 00 00 3D 00 18 00 15 53 45 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 18 00 57 61 73 6E 27 74 20 74 68 61 74 20 66 75 6E 3F 00 00 00 00 91 00 08 00 FF FF 00 00 8F 00 04 00 8C 00 0C 00 23 00 01 00 00 00 00 00 2C 00 08 00 0B 00 00 00 90 00 0C 00 23 00 02 00 00 00 00 00
There !! Theres the encoding, its all there !! If you can't read HEX I feel sorry for you. If you can count - maybe you can figure out the byte length too :) And I mean this in the most helpful,professional, proficient way .....
Cheers
KilroyFx
Posts: 21
Threads: 3
Joined: Sep 2009
Will you be able to provide us this file in the future?
And will there be compatibility issues? I hope this doesn't screw around with the GUI.
I'm not an expert at HEX; this is why I ask.
Posts: 2,272
Threads: 118
Joined: Dec 2013
(2009-11-12, 03:08 AM)kilroyfx link Wrote: 00 00 00 00 00 2C 00 08 00 0B 00 00 00 3D 00 18 00 04 59 DC 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 91 00 08 00 FF FF 00 00 8F 00 04 00 8C 00 0C 00 23 00 01 00 00 00 00 00 2C 00 08 00 0B 00 00 00 90 00 0C 00 23 00 02 00 00 00 00 00 8F 00 04 00 FF FF 04 00 96 00 08 00 00 00 0F 00 8C 00 0C 00 0F 00 04 00 00 02 00 00 90 00 0C 00 23 00 01 00 00 00 00 00 95 00 08 00 00 00 00 00 2C 00 08 00 0B 00 00 00 3D 00 18 00 15 58 B4 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 91 00 08 00 FF FF 00 00 8F 00 04 00 8C 00 0C 00 23 00 01 00 00 00 00 00 2C 00 08 00 0B 00 00 00 90 00 0C 00 23 00 02 00 00 00 00 00 8F 00 04 00 FF FF 04 00 96 00 08 00 00 00 0F 00 8C 00 0C 00 0F 00 04 00 00 02 00 00 90 00 0C 00 23 00 00 00 00 00 00 00 2C 00 08 00 07 00 00 00 3D 00 18 00 15 53 45 01 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 18 00 57 61 73 6E 27 74 20 74 68 61 74 20 66 75 6E 3F 00 00 00 00 91 00 08 00 FF FF 00 00 8F 00 04 00 8C 00 0C 00 23 00 01 00 00 00 00 00 2C 00 08 00 0B 00 00 00 90 00 0C 00 23 00 02 00 00 00 00 00
There !! Theres the encoding, its all there !! If you can't read HEX I feel sorry for you. If you can count - maybe you can figure out the byte length too :) And I mean this in the most helpful,professional, proficient way .....
Well somebody is snarky as usual
I'm just guesstimating this is an event record. The actual encoded event stages and instructions come after the 1024 event records. They can be hundreds of times this many bytes (there may be no limit) per event. These records are essentially headers containing file offsets into the individual stages. The stages are not in order, though I've never encountered stages from multiple events interleaved.
Each instruction has a unique encoding... or more likely something more like a format. We should document them all along with the records (which are simple enough)
I'm going to get started on this tonight beginning with instructions including text and whatever information is important for traversing series of instructions. But if you're working on the same thing, you might as well be a team player/play nice.
Posts: 2,272
Threads: 118
Joined: Dec 2013
(2009-11-12, 02:51 AM)kilroyfx link Wrote: Hmmm....wow you extracted the ASCII from a binary file.? Why would you do that?? And you concatenated the text....so you got part of a word like "Douche" and found another string like "bag" and your dos prompt spit out "DoucheBag". That's huge.? You didn't extract anything but the text....those are not EVENTS thats just user strings like the name of the EVENT and a few sentences of dialogue.....
But I'm interested in something more edifying....How can you even begin to give me advice on producing Valid .evt files when you don't know the memory layout of the file...I mean how long is the header and what does it contain??? How many bytes long are the Event Headers, and the command body...How do the Events index themselves into the .map files??? Is the file interpreted as little endian or big endian or what?? Come on I know the answers to all these questions...but I figured that out after looking at the file for about an hour.
Should I really do rigorous tests?? I thought I would hack my way through and if it worked once, well then good-enough I will release it. How much time should something like this take...??? An hour for me and 6 months for you??? Since you believe this to be complicated that tells me already where you stand, your a phoney....If you can't understand this simple file format and parse it according to ascii,hex,decimal and manipulate it then spit it back out as a working .evt file in a day then you need to back to school.?
Proficiently skilled?? Do you know how offensive you are....if you know so much why don't you produce some decent code and an interface instead of an excel spreadsheet that my girlfriend can do in 5 minutes....
Your ruining my TOPIC......I think some people will agree that your offensive and not helpful at all.? I regret even making this post now....
I'm not going to dignify this by reading it from beginning to end. I'm glad I was able to respond in a helpful way before noticing this antagonizing nonsense. I'm a worldclass software engineer amongst other things. Let's be more civil and considerate of each others time. I will ask Todd to digest it for me later.
Posts: 1,649
Threads: 99
Joined: Jan 2009
(2009-11-11, 11:04 PM)kilroyfx link Wrote: When desiging maps what are some of the limitations or slow-downs people have faced??
As it is now, when you design something like a machine with several moving parts (using Move Object commands), you can't move the machine to a different location without completely reworking the Move Object coordinates. A program that could place an Object and attach predefined, auto-adjusted Move Object events would be EXCELLENT!
Posts: 2,272
Threads: 118
Joined: Dec 2013
(2009-11-12, 04:23 AM)HwitVlf link Wrote: [quote author=kilroyfx link=topic=223.msg2522#msg2522 date=1257977072]
When desiging maps what are some of the limitations or slow-downs people have faced???
As it is now, when you design something like a machine with several moving parts (using Move Object commands), you can't move the machine to a different location without completely reworking the Move Object coordinates. A program that could place an Object and attach predefined, auto-adjusted Move Object events would be EXCELLENT!
[/quote]
I'm unsure in what scenarios this would be applicable. Unless the move object instructions can be stacked the transformation frame of reference would not overlap under most circumstances, ie. a robust solution would probably be out of reach. In general a machine with moving parts would be better implemented with an animated object, or a collection of them with a common coordinate system.
Posts: 94
Threads: 4
Joined: Sep 2009
Thats a good point, about the moving parts, and the MOVE object command. I have ran into this issue myself more than once. Your talking about Relative movement positions vs Absolute...and SOM lets you plug in Absolute positions. Well It is completely feasible to isolate these commands and adjust all the rotations, and movement coordinates to match...your new updated location.
But it is a lot of work. :)
What I am talking about, and this also refers to Holy's lastest post. Is that I want more of a macro -event handler, for now. I want to be able to delete objects and their cooresponding events so that SOM doesnt freak when they are missing.(which I have figured out) And, be able to add EVENTS that are merely duplicated not generated from scratch. This overcomes a couple barriers as far as being able to assign events easier to multiple objects at once, and being able to mass delete/duplicate objects when you want.
But I will have to think about that challenge, because that is a real problem. :)
Cheers
KilroyFx
|