-
Постов
164 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
События
Articles
Весь контент Crypton
-
I dont know, but there is no information about animation in proto or mob files, I checked that.... but interesting is that, scenery has flag "No Auto Animate", because it says that its normally automatically animated when "unknown" is specified. This unknown, may be specified somewhere in file, or maybe its calculated somehow... EDIT: Also I checked a mes files, and I found that in rules folder there is info about animation, but not for all files... like I did not found a scenery in that. AnimEyeCandy.mes // Normal Blood Splotch {0}{Art: 1, Palette: 1, Scale: 100%, Blend: None, Flags: overlay_f | animates} It has a flag animates, so its determined from mes file for eye candy sprites. But still, its useless because scenery is missing in this forlder
-
Today I've tried to add animation class, but I realized that I dont know which objects should be animated and which not, like campfire and steam engine are animated, but I dont know how arcanum game engine determines if object is animated or not.... what I know that its NOT determined by this (PictureCount > 1). Do anybody know where is this information saved ? is that in some mes file ?
-
Thank you for your input! and I really appreciate your words! Also I'm pleased that you and others appreciate my work! To everybody: New screenshots added!
-
I see that you've added a proto tab to your qtScribe :P so you are really going to make a universal modding tool for arcanum ? Anyway, I was researching a ART format today, because I was unable to find any notes I've found most of unknown values, but some of them are still a unknown to me... they are not compared anywhere, and doesnt change anything in game.... This is what I found so far: --------------------- -> Structures <- --------------------- Header: TArtFileHeader = Packed Record Frags: DWORD; Unknown: DWORD; StageCount: DWORD; PaletteTable: Array[0..3] of Pointer; FrameEnd: DWORD; FrameCount: DWORD; StageInfoTable: Array[0..7] of Pointer; StageSizeTable: Array[0..7] of DWORD; StageDataTable Array[0..7] of Pointer; End; Frame info: TArtFrameInfo = packed record Width: DWORD; Height: DWORD; Size: DWORD; Left, Top: Integer; DeltaX, DeltaY: Integer; end; --------------------- ->Description<- --------------------- You see that I've named something a "Stage", in ArtView its "Picture" but I call that Stage because its grouped set of frames. ************************ -Flags: 00000001 = IsCompact, 1 means that there is only one Stage that contains all frames, and this stage is duplicated to next 7 slots. 0 means that all 8 stages are saved. 00000002 = *HasDelta, it says that DeltaX and DeltaY is non zero in TArtFrameInfo. 00000004 = *Unknown, used only in Fonts. 00000008 = *Unknown, used only in Facades. *This flags seems to be ignored by game. ************************ -Unknown: This value is pretty strange to me, sometimes it equals to number of frames, sometimes its greater or less. I though that its some kind of flags or framerate, but I was unable to find its usage... This value must be nonzero, or game crashes. So just put there 1 and it will work. ************************ -StageCount: Number of stages saved in header, this value is always 8 and cant be different, game checks if this value is 8, if not it will crash or load badart.art. ************************ -PaletteTable: Its array of memory pointers, when loading Art file, you check if element is nonzezo, and if its, you allocate memory and read palette. Example: for (i = 0; i < 4; i++) { if (PaletteTable[i] != NULL) { PaletteTable[i] = malloc(256 * 4); fread... } } ************************ -FrameEnd: This is a bit unknow too, it doesnt changes anything in game and also its not checked by art loader, it seems that its ignored at all... This value usually(?) equal to FrameCount - 1, but could be also zero. ************************ -FrameCount: Number of frames per stage. ************************ -StageInfoTable: As I said, Art can contains up to 8 stages, its 8 because of critters, because they could move in 8 directions. This table is array of memory pointers, every pointer points to array of TArtFrameInfo. You know that you can find TArtFrameInfo after palettes, number of TArtFrameInfo per stage is saved in FrameCount in TArtFileHeader. When flag IsCompact is set, you set first member of StageInfoTable to remaining 7 members, in other words just duplicate :) Values in this table are not checked anywhere, so when saving new art, you can set them to zero. ************************ -StageSizeTable: Size of every stage in bytes, size of all frames when rle compressed. When flag IsCompact is set, you set first member of StageInfoTable to remaining 7 members, in other words just duplicate :) Values in this table are not checked anywhere, so when saving new art, you can set them to zero. ************************ -StageSizeTable: Size of every stage in bytes, size of all frames when rle compressed. When flag IsCompact is set, you set first member of StageInfoTable to remaining 7 members, in other words just duplicate :) Values in this table are not checked anywhere, so when saving new art, you can set them to zero. ************************ -StageDataTable: Table of Memory pointers, every pointer points set of decompressed bitmaps (set = stage, bitmap = frame). When flag IsCompact is set, you set first member of StageInfoTable to remaining 7 members, in other words just duplicate :) Values in this table are not checked anywhere, so when saving new art, you can set them to zero. ************************ I also found that RLE compression detection is done in correct way in ArtView, game does it in this way: IsCompressed:= FrameInfo.Size <> (FrameInfo.Width * FrameInfo.Height); Thats all what I found today :P I hope it helps a bit...
-
Okey, I see thats a lot info you want, so I'll look header of your art loader and then I'll try to find all unknown bytes and bits, to complete header struct I told you that I've found everything whats in proto docs is about 5 from 100% what I found, but I need to complete and translate it to one doc, then I'll release it :P
-
If you want to help with something to find, just ask Do you need to find something about ART file header ? Because I was researching ART format a year ago, so I think that I could find a notes about that (if not, I'm able to do it again). PS: Yeah they are pretty nice, but its original arcanum lights just bitmaps. Not D3D lights :P I've tried to use 3D lights aswell (also with fog), but I'll try to keep that project as much "Arcanumish" as possible :P
-
Sweet tool, I see that you've added a ART support, nice! It was not working for me, but after I checked your topic again I found a link for missing dlls PS: What about shell integration and file extension association? like for .src and .art...
-
I hope you received my PM :P sometimes I click on wrong button..hh Anyway, for everybody.... Thread updated, new screenshots added... and most importantly, help section added
-
Hmm, okey I see... I'll do it by myself, I dont want to waste your time, also if you dont know much about engine, or arcanum file formats, it will take you much more time to do any progress. But hey, if you still want to help with that, I'll give you a more info: As I said before TDF contains information about map and sectors, when you create a new map in world ed, your file will look similar to this: I know that at offset 8 and 16 is saved Width and Height of map (Int64), but I need to know what other bytes means in that file...
-
Sweet, thank you for offer Are you able to find a file format structure ? If you have a спам time, can you look at .TDF files ? every map has own .tdf file, it probably stands for "Terrain definition file", and it includes a information about map and sectors. If you want to help with that, I can give you a more information about that....
-
Look at screenshots ;) graphical part is already solved....
-
Hi! A brilliant idea, but its too soon for any translation.... this project is far from finished, but I did a real progress in last month so this project is much closer to Arcanum. Anyway, be sure that I'll release a source codes when it will be finished... so you and other java programmers will have a chance to show their skill ;) To Terror: You mean if I want to make a exact Arcanum clone ? I want to remake arcanum, make a our own Arcanum engine... the most important is research, when I'll finish my research about arcanum objects, it will be possible to make a new arcanum engine completely This new engine will be much better in these ways: -Much more and easier modifiable -Ability to add a new content, make expansion packs and other stuff -Many new features, that will be added by requests.... Its only short description, but its much more complex... I'm lazy to write them all :D
-
Did you used any translator ?:P Because I do not understand to anything... cant you just write that in russian language ? I could translate that better
-
Hi! Sure, anybody could join to this discussion... and also any suggestions and ideas are really welcomed. So if you want something, just ask here maybe other members will agree with your suggestions = increasing possibility that you will succeed :D hehe
-
Why triple post ? Also I do not understand to anything... ;) sorry...
-
Hehe, if you read a few posts after the main post, you'll see that people dont want multiplayer... Also its really too soon to talk about multiplayer Anyway, it will be easier for me to do some mp stuff, I already made a few tools that uses winsocks so when it will be needed, it can be done...
-
Yep, I started this project alone and probably I finish that alone too, till somebody who knows that things I described before will offer a help I think that when I finish a most important stuff (map loading with sector precaching, loading mobile objects and prototypes, and other stuff) , I'll release a source codes and we could rewrite that to C++ and develop new formats also it will be possible to use OpenGL. So when this time comes, be sure that I'll ask you for help as first hh PS: I'll update the main post in this thread at least twice a week and I'll upload new screenshots if something new will be possible to see at them :P
-
Hmm so you are saying that object pascal is dead already ? I think that many people will argue with you but its okey, I support any opinion... As I said before, when I finish this project, it will be possible to rewrite it completely into different language, comments will be included. At this moment, I think that Delphi is the most suitable for remaking Arcanum engine. Also, I needed a help from somebody who has similar skills as I have, but most important was: -Knowing Assember, C++ -Knowing Debugger -Knowing DirectX or OpenGL -Knowing Arcanum game engine a bit, be a Arcanum fan -Have a lot of спам time for that From that, you can guess that I did not found anybody like that About source codes.... it will be released someday, at this moment, it has about 400Kb in size... without comments The biggest class is Object Loader, which is far from final but it has over 5000 lines already ;) Anyway, thanks for your offers, I will think about that...
-
Hmm, are you sure that you'll be able to rewrite all stuff from Delphi to C++ ? I'm not thinking about rewriting all stuff back to C++ because of making that cross platform. I think that if it will run under Windows and Linux, then its enough And yes, Delphi has native support for building apps for linux ;) so it can be easily converted.... Also I have a class for map loading already finished, well not completely finished but the most important stuff is already implemented PS: This project has started in C++, but nobody offered (serious) help with programming so I switched to Delphi, because I'm working pretty fast in that....
-
Very well I see that somebody(you? already tried to make proto editor, good job I wish I knew about this editor a few weeks ago, now its a bit useless for me Also there is much more flags that it includes, many of them are invisible in WorldEd. PS: Delphi rulez here :D
-
Yes, your implementations is much more cleaner thats why I understood to scripts much more after 5 mins looking at your source codes ;) Hmm, swiss knife for arcanum ? I think that WorldEd is good enough and it will be wasting of time making a new one for "old" Arcanum. It will be much better to just pack all tools to one editor pack But on the other hand, I think that something like swiss knife could be made for this project, with map editor, script editor, object editor and so on About LUA, I was thinking about this many times, in other projects too, but I had not time to look at it. Is there is simple example app ? Well, we can change them, but its not easy... For scripts it will be needed to: -Add new PE section to Arcanum.exe -Find original procedure -Find where is scripts loaded (memory) and whats a format of decoded scripts. -Write own implementation of script loader, in clean c++, just one single procedure. -Inject this script loader proc to new PE section. -Rewrite all calls and jumps that used original script loader to out new loader in new PE section, or edit original loader in way that will call our new loader. Also its possible to do that without adding new PE section, but new script loader should be smaller in compiled size But who will do that ?:D I'm too lazy to do that... hh
-
Yeah By finding that flags, I made a huge progress... also I've found that arcanum is much more complex that I though There is many rules in game and many hidden object attributes, that are generated by WorldEd but its not possible to edit them in it but who cares, now I know them all... I did not looked at that scripts yet, I dont know its structure but I've already looked at source code of ScriptEd that you sent me a link before and I found out that I need to write my own 'Script Loader' because I need to understand its file structure and meaning of that scripts. It will be really helpful when time for developing new formats will come About proto editor, it will be nice to see that people really wants that, because I hate wasting time on tools that are not really needed... I regret that many times :P So maybe I should make some thread with pool ?:P PS: Oh, and thanks for your script editor, from screenshots I realized that arcanum scripts are hell-shitty bad designed :D EDIT: I checked a source code of your script editor, and it helped me to understand them much more thank you again... EDIT2: Do you have any ideas for new formats ? like for scripts ? or maps ? I was thinking about writting everything into XML files, and make a compiler for them... so engine will load binary form and user will be able to edit them in text form.
-
As I said before I've found all flags used in arcanum objects, so I'm able to load and edit prototypes (.pro), mobile objects (*.mob) and sector files (.sec). This means that I'm able to make a editor for prototypes A nice shiny user friendly editor with GUI, the questions are: -Do people really wants this editor ? -Isn't too late for this ? -How many people will need that ?
-
Sweet sniper gun model ;) good job... Its also possible that ArcanumAlive will be able to load 3D models and place them in 2D mode I've tried that with one 3D model already ;)
-
Yeah, my mistake, WorldEd is better for research, I'm using that for reseaching sector files right now, but for other stuff, like AI, it will be needed to research arcanum executable Also, I know about "sectoring" already, and also I've found what sector filename means its actually flags that includes a sector position in world and other stuff. Anyway, did you received my PM? I'm not sure if I clicked on right button, because its russian and I cant copy that button text to clipboard for translator
