...so I'll post again the idea: the .m3w (or .m3ow) project file will be a .zip file with changed extension (like Quake 3's .pk3 files). Below is a structure in the archive, where <this> denotes a folder.
<ProjectName>
index.xml
thumbnail.png
<Sprites>
<Sprite>
spritedata.xml
<Spinnets>
//spinnets, the sprite scripts go here. Eg. spinnet.m3owscript
<Costumes>
//costumes go here.
<Sounds>
//sounds go here
<Stage>
<GlobalScripts>
//global scripts & stage scripts go here
<Stages>
//backgrounds go here.
<Sounds>
//stage sounds go here.
Last edited by filo5 (2010-01-03 10:52:11)
Offline
Thats a good idea, iv seen some xml, iv done some xml editing, and that should work if we can make the program read it, and if its xml it will work in notepad for easy editing if someone wants to do that.
Offline
Files:
index.xml - project descriptor. All project data go here - name, author, save log, sprite list and stage settings. Root node: <Project>.
thumbnail.png - project thumbnail.
Sprite/spritedata.xml - sprite info: costumes, sounds, spinnets. It's a link between project descriptor and sprite itself. Root node: <Sprite>.
.m3owscript files - script files.
.m3w or .m3ow files - project files. Actually .zip archives.
Offline
Keeping in mind all these things are bundled into .m30w file
Offline
index.xml example:
<Project name="Welcome to M3OW" author="M3OWMakerz" version="3" stage-size="600x400" last-saved="20100815101204" created="20100705211841" id="WelcomeToM3OW"> <Save-Log> <log-entry type="saved" datetime="20100815101204" /> <log-entry type="published" datetime="20100814105200" /> <!-- etc. --> </Save-Log> <Sprite-List> <Sprite id="WelcomeToM3OW-SPRITE-1" name="Welcome-Stamper" sprite-data="/Sprites/Welcome-Stamper/spritedata.xml" /> <Sprite id="WelcomeToM3OW-SPRITE-2 name="Cat" sprite-data="/Sprites/Cat/spritedata.xml" /> </Sprite-List> <Stage> <Script id="WelcomeToM3OW-STAGE-SCRIPT-1" location="/Stage/GlobalScripts/Program.m3owscript" exclude="false" /> <Costume id="WelcomeToM3OW-STAGE-COSTUME-1" location="/Stage/Stages/welcome-stage.bmp" exclude="false" /> <Sound id="WelcomeToM3OW-STAGE-SOUND-1" location="/Stage/Sounds/snd1.mp3" exclude="false" /> <Sound id="WelcomeToM3OW-STAGE-SOUND-2" location="/Stage/Sounds/meow-flanged.mp3" exclude="false" /> </Stage> </Project>
Offline
gershmer wrote:
Keeping in mind all these things are bundled into .m30w file
Do they?
Offline
Yes. Let's assume you have a proper .m3ow file. Now change its extension to .zip (project.m3ow -> project.zip), and open it in your archive reader. That's it. Now you can see all the structure and data.
Offline
cleaver, that should work.
Offline
that's smart.
But complicated.
How are we uh, going to read this file?
I was having a hard enough time with reading plain text, let alone a zip archive in a clever guise.
I still dunno what about opening file in python.
but there is probably a lib for that.
Offline
obviously we'll have to have a plugin or something for the zip reader, you cant just simply change the file exstension to .zip and check whats inside, i tried it. It was a .sb file though... i dont k now how they structured though so it might not have worked anyway.
Offline
Hmm... The way the 'sample' project was... is really confusing.
Offline
This is the 'sample' project from the tech-side. And, there are binary and python libs for ZIP archives. To edit or run the project, .m3ow archive will be simply unpacked to a temporary directory and then XMLs will be parsed, resources checked and allocated, scripts executed, which, to an end-user, means - project is played. Diagrams file:
M3OW TECHNOLOGY DIAGRAMS
Offline
I can just understand that, Slightly confused with the first one though.
The difference between run and edit are? If its like Scratch, then it all go into 1, unless we're adding an external complier?
Offline
Run mode is done by M3OW Player only. For M3OW itself, user, in order to edit the project, will have to click "edit" button from "project" menu, to go to the editor. Temporary folder will be moved to M3OW folder. The reason I designed the architecture like this, is simple: some people want only to run the project (watch animation, play game, etc.) - then, after running the project, user will get an option - go remix, or switch off. Go remix will do the same as project->edit. Switch off will close the project and delete temporary folder.
Offline
filo5 wrote:
Run mode is done by M3OW Player only. For M3OW itself, user, in order to edit the project, will have to click "edit" button from "project" menu, to go to the editor. Temporary folder will be moved to M3OW folder. The reason I designed the architecture like this, is simple: some people want only to run the project (watch animation, play game, etc.) - then, after running the project, user will get an option - go remix, or switch off. Go remix will do the same as project->edit. Switch off will close the project and delete temporary folder.
The M30W player? On the other forum you said that the editing would be done in Diamond, but what is this M30W player?
Offline
...we've not made that yet have we?
Offline
Lets get the editor up and running, then when we add in sprites we start on the viewer (Offline) and once we've got to V1, we start on the online viewer.
Offline
Where are these names coming from?!
Offline