Ejemplo n.º 1
0
TbBool update_screen_mode_data(long width, long height)
{
  if ((width >= 640) && (height >= 400))
  {
    pixel_size = 1;
  } else
  {
    pixel_size = 2;
  }
  MyScreenWidth = width * (long)pixel_size;
  MyScreenHeight = height * (long)pixel_size;
  pixels_per_block = 16 * (long)pixel_size;
  units_per_pixel = (width>height?width:height)/40;// originally was 16 for hires, 8 for lores
  units_per_pixel_min = (width>height?height:width)/40;// originally 10 for hires
  if (MinimalResolutionSetup)
    LbSpriteSetupAll(setup_sprites_minimal);
  else
    LbSpriteSetupAll(setup_sprites);
  LbMouseSetup(NULL);
  LbMouseChangeMoveRatio(base_mouse_sensitivity*units_per_pixel/16, base_mouse_sensitivity*units_per_pixel/16);
  LbMouseSetPointerHotspot(0, 0);
  LbScreenSetGraphicsWindow(0, 0, MyScreenWidth/pixel_size, MyScreenHeight/pixel_size);
  LbTextSetWindow(0, 0, MyScreenWidth/pixel_size, MyScreenHeight/pixel_size);
  return true;
}
Ejemplo n.º 2
0
TbBool load_testfont_fonts(void)
{
  if ( LbDataLoadAll(testfont_load_files) )
  {
    ERRORLOG("Unable to load testfont_load_files files");
    return false;
  }
  LbSpriteSetupAll(setup_testfont);
  return true;
}
Ejemplo n.º 3
0
void frontstory_load(void)
{
    wait_for_cd_to_be_available();
    frontend_load_data_from_cd();
    if (LbDataLoadAll(frontstory_load_files_640))
    {
        ERRORLOG("Unable to Load FRONT STORY FILES");
    } else
    {
        LbDataLoadSetModifyFilenameFunction(_DK_mdlf_default);
        LbSpriteSetupAll(frontstory_setup_sprites);
        LbPaletteSet(frontend_palette);
        srand(LbTimerClock());
        frontstory_text_no = GUIStr_EasterPoems + rand() % 26;
    }
}
Ejemplo n.º 4
0
void fronttorture_load(void)
{
    struct PlayerInfo *player;
    char *fname;
    unsigned char *ptr;
    long i,k;
    wait_for_cd_to_be_available();
    frontend_load_data_from_cd();
    memcpy(frontend_backup_palette, &frontend_palette, PALETTE_SIZE);
    // Texture blocks memory isn't used here, so reuse it instead of allocating
    ptr = block_mem;
    // Load RAW/PAL background
    fname = prepare_file_path(FGrp_LoData,"torture.raw");
    torture_background = ptr;
    i = LbFileLoadAt(fname, ptr);
    ptr += i;
    fname = prepare_file_path(FGrp_LoData,"torture.pal");
    torture_palette = ptr;
    i = LbFileLoadAt(fname, ptr);
    ptr += i;

    // Load DAT/TAB sprites for doors
    k = 0;
    {
        fname = prepare_file_fmtpath(FGrp_LoData,"door%02d.dat",k+1);
        i = LbFileLoadAt(fname, ptr);
        doors[k].data = ptr;
        ptr += i;
        doors[k].data_end = ptr;

        fname = prepare_file_fmtpath(FGrp_LoData,"door%02d.tab",k+1);
        i = LbFileLoadAt(fname, ptr);
        doors[k].sprites = (struct TbSprite *)ptr;
        ptr += i;
        doors[k].sprites_end =(struct TbSprite *) ptr;
    }
    ptr = &game.land_map_start;
    for (k=1; k < 8; k++)
    {
        fname = prepare_file_fmtpath(FGrp_LoData,"door%02d.dat",k+1);
        i = LbFileLoadAt(fname, ptr);
        doors[k].data = ptr;
        ptr += i;
        doors[k].data_end = ptr;
        fname = prepare_file_fmtpath(FGrp_LoData,"door%02d.tab",k+1);
        i = LbFileLoadAt(fname, ptr);
        doors[k].sprites = (struct TbSprite *)ptr;
        ptr += i;
        doors[k].sprites_end = (struct TbSprite *)ptr;
    }
    ptr = poly_pool;
    k = 8;
    {
        fname = prepare_file_fmtpath(FGrp_LoData,"door%02d.dat",k+1);
        i = LbFileLoadAt(fname, ptr);
        doors[k].data = ptr;
        ptr += i;
        doors[k].data_end = ptr;
        fname = prepare_file_fmtpath(FGrp_LoData,"door%02d.tab",k+1);
        i = LbFileLoadAt(fname, ptr);
        doors[k].sprites = (struct TbSprite *)ptr;
        ptr += i;
        doors[k].sprites_end = (struct TbSprite *)ptr;
    }

    if ( LbDataLoadAll(torture_load_files) )
        ERRORLOG("Unable to load torture load files");
    LbSpriteSetupAll(setup_torture_sprites);
    frontend_load_data_reset();
    memcpy(&frontend_palette, torture_palette, PALETTE_SIZE);
    torture_state.action = 0;
    torture_door_selected = -1;
    torture_end_sprite = -1;
    torture_sprite_direction = 0;
    LbMemorySet(door_sound_state, 0, TORTURE_DOORS_COUNT*sizeof(struct DoorSoundState));

    player = get_my_player();
    if (player->victory_state == VicS_WonLevel)
    {
        LbMouseChangeSpriteAndHotspot(&fronttor_sprites[1], 0, 0);
    } else
    {
        LbMouseChangeSpriteAndHotspot(0, 0, 0);
    }
    torture_left_button = 0;
}