Jump to content

md5

Fremen
  • Posts

    5
  • Joined

  • Last visited

Reputation

0 Neutral
  1. @honza.c: nice :) though the original game shifted by 2, didn't it? thus the palette will be a bit off @bigs: I did see your post about SAL files, but all the links it points to are dead now :( Could you reupload?
  2. Some things I forgot to say about the code I attached above... its main loop is empty, as you see, and only an image is shown. You can use the console (Control-D) to manipulate the game's resources, making it a glorified resource viewer :) Here are the commands: - dump: Decompresses the given HSQ file into a raw uncompressed file - sentences: Shows information about a sentence file, or prints a specific sentence from a file - sound: Plays a sound file (sd*.hsq). Valid sounds are 1-11 - sprite: Shows information about a game sprite (character/background) and can display it on screen Another thing that comes to mind: no matter which route is taken (ScummVM or something else), if you're aiming for multiple platforms, the code must be written in an endian-safe way. What I got up to now is (afaik) endian safe, ScummVM has functions helping with that. But parts of the tech demo I saw are definitely not endian safe (e.g. direct casting to uint16 from raw data)
  3. Ah and here's a map I made of all the Dune files (also in the attachment) :) General information about game files == Music (Adlib Gold/Adlib/MT-32) ARRAKIS.* (AGD/HSQ/M32) BAGDAD.* (AGD/HSQ/M32) MORNING.* (AGD/HSQ/M32) SEKENCE.* (AGD/HSQ/M32) SIETCHM.* (AGD/HSQ/M32) WARSONG.* (AGD/HSQ/M32) WATER.* (AGD/HSQ/M32) WORMINTR.* (AGD/HSQ/M32) WORMSUIT.* (AGD/HSQ/M32) == SFX (VOC files) SD?.HSQ (0x1 - 0xB) == Text PHRASE1?.HSQ (1-2) - English PHRASE2?.HSQ (1-2) - French PHRASE31.HSQ (1-2) - German COMMAND1.HSQ - English phrases and replies (e.g. "Search for Equipment") COMMAND2.HSQ - French phrases and replies COMMAND3.HSQ - German phrases and replies == Movies LOGO.HNM PRT.HNM == Unknown files CONDIT.HSQ - conditions, perhaps? DIALOGUE.HSQ - dialogue logic, perhaps? DUNE386.HSQ DUNEADL.HSQ - seems to be related to Adlib music somehow DUNEAGD.HSQ - seems to be related to Adlib Gold music somehow DUNECHAR.HSQ DUNEMID.HSQ - seems to be related to MT-32 music somehow DUNEPCS.HSQ - seems to be related to PC Speaker music somehow DUNESDB.HSQ - seems to be related to SoundBlaster music somehow DUNEVGA.HSQ GLOBDATA.HSQ - global data, perhaps? MAP.HSQ - map logic, perhaps? (the map sprites are in ONMAP.HSQ) MAP2.HSQ - map logic, perhaps? (the map sprites are in ONMAP.HSQ) ORNYCAB.HSQ - Ornithopter cockpit logic, perhaps? (the Ornithopter sprites are in the other ORNY*.HSQ files) SUN.HSQ - sunrise logic, perhaps? (the sunrise sprites are in SUNRS.HSQ) VERBIN.HSQ TABLAT.BIN - tablatures, perhaps? Seems to be music related HARK.SAL PALACE.SAL SIET.SAL VILG.SAL ***** SPRITE FILES ***** == Background sprites (background pictures and props) - used for locations BACK.HSQ - Portrait background gradient BALCON.HSQ - Palace entrance/balcony BOOK.HSQ - Dune info book (background with 2 sand worms) BOTA.HSQ - Garden BUNK.HSQ - Bunker CHANKISS.HSQ - Chani and someone else (Paul?) kissing COMM.HSQ - Communications room CORR.HSQ - Corridors DUNES.HSQ - Dunes DUNES2.HSQ - Yet more dunes DUNES3.HSQ - Even more dunes! EQUI.HSQ - Emerald-colored base + guards FRESK.HSQ - House Atreides painting/flag/emblem FORT.HSQ - Fortress HARK.HSQ - Harkonnen base INTDS.HSQ - Sand dunes MIRROR.HSQ - Mirror room + mirror screen PERS.HSQ - Persons inside the room (not in portraits) POR.HSQ - Porch(?) PROUGE.HSQ - Weapons rack SERRE.HSQ - Oasis trees, rocks etc SHAI.HSQ - Desert & sandworms SHAI2.HSQ - Desert & sandworms SIET0.HSQ - Cave entrance SIET1.HSQ - Cave interior (rocks, walls etc) SKY.HSQ - Horizon STARS.HSQ - Sky + stars VER.HSQ - Ring VILG.HSQ - Village VIS.HSQ - Top-down view of Dune, or the sky (it uses a different palette so it's hard to understand) == Character sprites (full sprites and animations, e.g. eyes, mouths etc) BARO.HSQ - Harkonnen (fat) baron CHAN.HSQ - Chani Kynes EMPR.HSQ - Emperor FEYD.HSQ - Feyd-Rautha Harkonnen FRM?.HSQ (1-3) - Fremen characters GURN.HSQ - Gurney Halleck (Warmaster) HARA.HSQ - Harah (Paul's wife) HAWA.HSQ - ??? IDAH.HSQ - ??? JESS.HSQ - Jessica Atreides (Paul's mother) KYNE.HSQ - ??? LETO.HSQ - Leto Atreides (Paul's father) PAUL.HSQ - Paul Atreides (main hero) SMUG.HSQ - Smugglers STIL.HSQ - Stilgar == GUI sprites GENERIC.HSQ - Generic sprites (e.g. fonts) ICONES.HSQ - GUI elements (graphics, sprites, buttons etc) ONMAP.HSQ - Map + sprites PALPLAN.HSQ - Palace map == Sequence sprites CREDITS.HSQ - Ending credits CRYO.HSQ - Part of intro, Cryo/Virgin logo DEATH?.HSQ (1-3) - Death sequence FINAL.HSQ - Ending SUNRS.HSQ - Sunrise == Vehicle/action sprites ATTACK.HSQ - Attack sprites (lasers etc) MOIS.HSQ - Some sort of tank ORNY.HSQ - Ornithopter (exterior) ORNYPAN.HSQ - Ornithopter (interior, controls) ORNYTK.HSQ - Ornithopter (exterior, probably for the flying animation)
  4. And here is what I got up to now It's a ScummVM engine, with support for the compression (HSQ), image files, sentence files and voice files, in C++. I've based the work I did on the tech demo and the specs. I haven't had time for dissassembly yet, I'm busy with RL. dune.zip
  5. Of course, everyone is entitled to his/her own opinion. I joined the ScummVM project because it provides a very structured, clean and organized infrastructure. It has been successfully been ported on a vast number of platforms, far more than SDL itself supports. Yes, ScummVM is in C++, and no, it does not use STL, because of the overhead. Most of the needed functionality from STL has been implemented. You can, of course, write in whatever platform or language you desire. As a project, ScummVM has rewritten engines of several games, and we currently support over 200 official games, fan made games and demos, ported to several platforms, which classifies it as a highly successful project, and it does have an active programmer and user community. There are code styling conventions, so the overall code is formatted in a similar manner across all engines. As for the small footprint of your design... ScummVM runs on a DS, which is VERY limited concerning resources and memory (about 2MB of RAM I believe?). As for the encapsulation.. yes, you can reuse the libraries without the wrappers that ScummVM provides, but these wrappers are to ease the usage of these libraries under a variety of situations. C++ isn't only about polymorphism or inheritance. It's about objectification and classes. Yes, you can achieve something similar with C, but you're forcing the language to something it was not made for. As for building... did you follow the guidelines in the developer central of the wiki, esp. the MSVC instructions? And NASM... you can find its executable with a Google search, or just get it from the precompiled libraries package in the MSVC page. As for removing the MAME copyright... you realize that this is illegal to do, right? The copyright is there, if you check the correct files: scummvm/trunk/sound/softsynth/opl/mame.cpp and .h I'm not quite sure what you're talking about here... all projects change and keep being updated? As for documentation... that's a problem with all major projects As for rewriting from assembly... that's great, it's called reverse engineering (RE), and it's how we have rewritten most of the engines we support, unless original sources were provided. So, in essence, you are doing what a lot of people have worked on from scratch... Anyway, noone is forcing you to do anything, if you want to program something in your own way, feel free to do so :) That's just my personal opinion, too Also, I'd be glad to share all of the code I got up to now. It's not great, I haven't had time to work on it, but if you need it, feel free to contact me
×
×
  • Create New...