The game used a tricky pointer hack, basically on the PSX accessing a pointer with the highest-24-bit set means read it from the CPU cache, otherwise not (or maybe the other way around). Since our port was more or less "wrap" the PSX libs as PC, we didn't have to change too much, just on the surface - a bit like patching here and there. So 600kb+100kb, leaves you about 1.0mb for objects, "scenerio" files to be loaded, etc. Each character would have a "main" like function that accepted (int argc, const char argv) and handled the arguments from there (these were directly from the TCL scripts). TCL-like language was used to script the game, the radio, traps/objects in the game, etc. so/.dylib/.dll files that knew about the main part. The main part would declare entry-points to be reached, and the "swapped" overlay were like many. About 600kb were a main/shared/common part, and if I'm not mistaken 100kb or a bit more were swapped (the overlay). Game used overlays for the executable part. We were never given their internal sound mixer, but the popular metal gear tune was "mod"-like with very short samples - all of this + game effects was fitting in a 512kb audio buffer (adpcm). If models were skinned they would've required all the colors used anywhere on the body, and would produce other unpleasant effects (different sampling frequency, especially on the shoulders, etc.) Konami's character modeling is top-notch. As such it was possible to use very little colors per texture (16) and use palettes (which is a very small "texture" in the graphics memory). Some textures were covering only the front part of the body, others arms, etc. Models were not "skinned" as it was popular in the day. I worked on the port of MGS to PC back in 1999-2000.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |