- Find out how to build the main menu. If you undat the arcanum data files, you get a MainMenu.mes that contains all the strings for the main menu and its submenus as well as hotkeys to the points, but: How does the main menu know which art file is loaded for the background? How does the main menu know which music should be played or which sounds should be played on hover and press? Also, the font is a bitmap font, which is quite cumbersome - how does original TIG define fonts?
- Sierra Logo (skippable)
- Troika Loko (skippable)
- Loading screen (seems to be randomized of the three available loading screens)
- introductory video (Knight shoots other knight) (skippable)
- -> dissolve into main menu (can be skipped via escape)
- Single Player
- New Game
- Load Game
- Last Save
- View Intro -> Shows two videos back to back, IFS Zephyr crash and finding the gnome
- Cancel
- MultiPlayer
- Options
- Credits
- Exit
- Single Player
Create new crates with cargo new --lib ./crates/new_crate --vcs none
- arcanum.cfg will be created and filled with default values if its missing
- game doesn't start without tig.dat
- game starts but crashes after splashscreen without arcanum1.dat or arcanum2.dat
- game doesn't start without arcanum3.dat
- game seems to run fine without arcanum4.dat
The artconverter is almost verbatim taken from https://github.com/AxelStrem/ArtConverter
In his talks about the arcanum data (https://www.youtube.com/watch?v=VYw4ln0jxUY, https://www.youtube.com/watch?v=bmz6XSd7xGM), Tim mentions:
- All the files will be stored sequentially
- While storing files, they keep a table of metadata (e.g. start offsets)
- when finishing, the filetable will be written to the end
- The start of the file will be set to the start of the filetable
- sequential files overwrite previous versions, so if art/splashscreen.ART is in arcanum2.dat, it will overwrite the art/splashscreen.ART in arcanum1.dat
He also mentions, data is divided in 4 categories
Observations:
- Every file starts with
78 dawhich does not seem to be a file offset - filenames in tables have a three letter file ending followed by
0x00and then 24 bytes of data until the next filename begins - sometimes there seems to be a base folder, like
art, followed byart\item\and lastlyart\item\P_tesla_gun.ART
this: https://rpgcodex.net/forums/threads/arcanum-multiverse-edition.114150/page-30 mentions:
- there is a 28 byte footer at the end, consisting of a 16character uuid, a "magic number" that should be
1TADto mark a valid file, size of bytes of all filenames together and sum of bytes of everything written that isn't a deflate stream - every entry consists of a filename, a crc or offset value, a type (0x00000400 for dir, 0x00000002 for deflate stream and 0x00000001 for a directly stored information), original size, deflate size and offset
https://f3mic.github.io/index.html
https://www.reddit.com/r/bevy/comments/1i83wv5/tutorial_how_to_load_inmemory_assets_in_bevy/