]> 4ch.mooo.com Git - 16.git/commitdiff
wwww merged
authorsparky4 <sparky4@cock.li>
Fri, 2 Sep 2016 16:00:29 +0000 (11:00 -0500)
committersparky4 <sparky4@cock.li>
Fri, 2 Sep 2016 16:00:29 +0000 (11:00 -0500)
16.BAK [new file with mode: 0755]
src/lib/16_sprit.c
src/vrstest.c

diff --git a/16.BAK b/16.BAK
new file mode 100755 (executable)
index 0000000..aee7ace
Binary files /dev/null and b/16.BAK differ
index ab6e33785ba4f27bf55df60722dfff5b7c429e5a..c5158dc5d318e6836808b20e366351a2cf9e9cd2 100755 (executable)
@@ -1,24 +1,3 @@
-/* Project 16 Source Code~
- * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover
- *
- * This file is part of Project 16.
- *
- * Project 16 is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Project 16 is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>, or
- * write to the Free Software Foundation, Inc., 51 Franklin Street,
- * Fifth Floor, Boston, MA 02110-1301 USA.
- *
- */
 #include "src/lib/16_sprit.h"
 
 char* get_curr_anim_name(struct sprite *spri)
@@ -38,9 +17,9 @@ void init_anim(struct sprite *spri, int anim_index)
        uint32_t huge *anim_lists_offsets =     (uint32_t huge *)
                                                ((byte huge *)vrs +
                                                 vrs->offset_table[VRS_HEADER_OFFSET_ANIMATION_LIST]);
-       struct vrs_animation_list_entry_t *anim_list =  (struct vrs_animation_list_entry_t huge *)
-                                                       ((byte huge *)vrs +
-                                                        anim_lists_offsets[anim_index]);
+       struct vrs_animation_list_entry_t huge *anim_list =     (struct vrs_animation_list_entry_t huge *)
+                                                               ((byte huge *)vrs +
+                                                                anim_lists_offsets[anim_index]);
 
        // Upon new animation, start from the first sprite in it
        spri->curr_anim = anim_index;
@@ -93,17 +72,22 @@ void print_anim_ids(struct sprite *spri)
        {
                // Return on successful match
                new_anim_index++;
-               printf("%d, ", iter_id);
        }
 }
 
 
 void animate_spri(struct sprite *spri)
 {
+       int i;
        // Events go here
 
        // Draw sprite
-       get_vrl_by_id(spri->spritesheet, spri->curr_spri_id, spri->sprite_vrl_cont);
+       i = get_vrl_by_id(spri->spritesheet, spri->curr_spri_id, spri->sprite_vrl_cont);
+       if(i < 0)
+       {
+               printf("Error retriving required sprite");
+               exit(-1);
+       }
        draw_vrl1_vgax_modex(   spri->x, spri->y,
                                spri->sprite_vrl_cont->vrl_header, spri->sprite_vrl_cont->line_offsets,
                                spri->sprite_vrl_cont->buffer + sizeof(struct vrl1_vgax_header),
index e90d10e84df362b138cf0bf2fe848e3c88cdd6c0..a65eee090c832b889c923853af5e1c34f8252d4f 100755 (executable)
@@ -55,14 +55,41 @@ void main() {
        word w=0;
 
 
+
+       // DOSLIB: check our environment
+       probe_dos();
+
+       // DOSLIB: what CPU are we using?
+       // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS.
+       //      So this code by itself shouldn't care too much what CPU it's running on. Except that other
+       //      parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for
+       //      the CPU to carry out tasks. --J.C.
+       cpu_probe();
+
+       // DOSLIB: check for VGA
+       if (!probe_vga()) {
+               printf("VGA probe failed\n");
+               return;
+       }
+       // hardware must be VGA or higher!
+       if (!(vga_state.vga_flags & VGA_IS_VGA)) {
+               printf("This program requires VGA or higher graphics hardware\n");
+               return;
+       }
+
+       //bmp = bitmapLoadPcx("data/chikyuu.pcx");
+       gvar.video.page[0]=modexDefaultPage(&gvar.video.page[0]);
+
        mm.mmstarted=0;
        MM_Startup(&mm, &mmi);
        CA_Startup(&gvar);
+       // What should be done by read_vrs:
+       sega = (mm.bufferseg);
        if(CA_LoadFile("data/spri/chikyuu.vrs", &bigbuffer, &mm, &mmi)) baka=1; else baka=0;
-//     fd = open("data/spri/chikyuu.vrs", O_RDONLY|O_BINARY);
-//     size = lseek(fd, 0, SEEK_END);
-//     lseek(fd, 0, SEEK_SET);
-//     close(fd);
+       fd = open("data/spri/chikyuu.vrs", O_RDONLY|O_BINARY);
+       size = lseek(fd, 0, SEEK_END);
+       lseek(fd, 0, SEEK_SET);
+       close(fd);
        // Insert sanity cheks later
        vrs.buffer = bigbuffer;
        vrs.data_size = size - sizeof(struct vrl1_vgax_header);
@@ -92,6 +119,7 @@ void main() {
        }
        vrs.vrl_line_offsets = vrl_line_offsets;
 
+
        //read_vrs(&gvar, "data/spri/chikyuu.vrs", &vrs);
        spri.spritesheet = &vrs;
        spri.sprite_vrl_cont = malloc(sizeof(struct vrl_container));
@@ -104,33 +132,8 @@ void main() {
        spri.y = 100;
 
 //     Uncomment to see broken sprites
-       //if(CA_ReadFile("data/spri/CHUBACW1.vrl", &bigbuffer, &mm)) baka=1; else baka=0;
-       //if(CA_LoadFile("data/spri/CHUBACW1.vrl", &bbuffer, &mm, &mmi)) baka=1; else baka=0;
-
-       // DOSLIB: check our environment
-       probe_dos();
-
-       // DOSLIB: what CPU are we using?
-       // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS.
-       //      So this code by itself shouldn't care too much what CPU it's running on. Except that other
-       //      parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for
-       //      the CPU to carry out tasks. --J.C.
-       cpu_probe();
-
-       // DOSLIB: check for VGA
-       if (!probe_vga()) {
-               printf("VGA probe failed\n");
-               return;
-       }
-       // hardware must be VGA or higher!
-       if (!(vga_state.vga_flags & VGA_IS_VGA)) {
-               printf("This program requires VGA or higher graphics hardware\n");
-               return;
-       }
-
-       //bmp = bitmapLoadPcx("data/chikyuu.pcx");
-       gvar.video.page[0]=modexDefaultPage(&gvar.video.page[0]);
-
+/*     sega = mm.bufferseg;
+       if(CA_LoadFile("data/spri/CHUBACW1.vrl", &bigbuffer, &mm, &mmi)) baka=1; else baka=0;*/
 
        /* clear and draw one sprite and one bitmap */
        VGAmodeX(1, 1, &gvar);