Try multi-block solide

This commit is contained in:
Tituya 2020-06-29 22:31:30 +02:00
parent 361e2e6381
commit f4815f5f03
12 changed files with 333 additions and 303 deletions

BIN
AST3.g3a

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -165,9 +165,9 @@ LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a
LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a
LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a
0x0000000000300000 _brom = 0x300000
0x00000000000053a0 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
0x0000000000005510 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks))
.text 0x0000000000300000 0x4200
.text 0x0000000000300000 0x4370
*(.text.entry)
.text.entry 0x0000000000300000 0x12c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
0x0000000000300000 _start
@ -190,295 +190,295 @@ LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgc
0x00000000003001a0 _gint_tlbh
0x0000000000000074 _gint_tlbh_size = ABSOLUTE ((. - _gint_tlbh_start))
*(.text .text.*)
.text 0x0000000000300208 0x118 build-cg/src/collide.c.o
0x0000000000300208 _collide_vert
0x000000000030029c _collide_hor
.text 0x0000000000300320 0x90 build-cg/src/drawlevel.c.o
0x0000000000300320 _draw_player
0x0000000000300330 _draw_level
.text 0x00000000003003b0 0x0 build-cg/src/main.c.o
.text.startup 0x00000000003003b0 0x25c build-cg/src/main.c.o
0x00000000003003b0 _main
.text 0x000000000030060c 0x30 build-cg/src/setlevel.c.o
0x000000000030060c _set_level
.text 0x000000000030063c 0xdc /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memory.c.o)
0x000000000030063c _memcpy
0x00000000003006f6 __memmove
0x00000000003006fa __memcmp
0x00000000003006fe _memset
.text 0x0000000000300718 0x7c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(string.c.o)
0x0000000000300718 _strlen
0x0000000000300728 _strncpy
0x0000000000300740 _strcat
0x0000000000300784 _strcmp
.text 0x0000000000300794 0x3c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dupdate.c.o)
0x0000000000300794 _dupdate
0x00000000003007b8 _dupdate_noint
.text 0x00000000003007d0 0x1c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dclear.c.o)
0x00000000003007d0 _dclear
.text 0x00000000003007ec 0x40 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dimage.c.o)
0x00000000003007ec _dimage
0x0000000000300814 _dsubimage
.text 0x000000000030082c 0x6c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dvram.c.o)
0x000000000030082c _dsetvram
0x0000000000300858 _dgetvram
0x0000000000300878 _dvram_switch
.text 0x0000000000300898 0x1e4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(bopti.c.o)
0x0000000000300898 _bopti_render
0x0000000000300988 _bopti_render_clip
0x0000000000300a50 _bopti_render_noclip
.text 0x0000000000300a7c 0xbc /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dprint.c.o)
0x0000000000300a7c _dprint_opt
0x0000000000300ae8 _dprint
.text 0x0000000000300b38 0x2d4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
0x0000000000300b88 _r61524_win_get
0x0000000000300c40 _r61524_win_set
0x0000000000300d00 _r61524_display
.text 0x0000000000300e0c 0x420 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x00000000003010dc _dma_transfer
0x000000000030111c _dma_transfer_wait
0x00000000003011c0 _dma_transfer_noint
.text 0x000000000030122c 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
.text 0x000000000030122c 0x4c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memset.c.o)
0x000000000030122c _dma_memset
.text 0x0000000000301278 0xf4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(intc.c.o)
0x00000000003012f4 _intc_priority
.text 0x000000000030136c 0x30 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
.text 0x000000000030139c 0x29c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.c.o)
0x0000000000301608 _gint_panic
0x0000000000301618 _gint_panic_set
0x000000000030162c _gint_exc_catch
.text 0x0000000000301638 0x40 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(hardware.c.o)
0x0000000000301638 _hw_detect
.text 0x0000000000301678 0x2b8 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(kernel.c.o)
0x00000000003017f4 _kinit
0x0000000000301888 _gint_inthandler
0x00000000003018b8 _gint_switch
0x0000000000301908 _kquit
.text 0x0000000000301930 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tlbh.S.o)
.text 0x0000000000301930 0x424 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
0x0000000000301b08 _pollevent
0x0000000000301c44 _waitevent
0x0000000000301c90 _clearevents
0x0000000000301cb0 _keydown
0x0000000000301cdc _keydown_all
0x0000000000301d18 _keydown_any
.text 0x0000000000301d54 0x1f8 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(getkey.c.o)
0x0000000000301d54 _getkey_opt
0x0000000000301f04 _getkey
0x0000000000301f10 _getkey_repeat
.text 0x0000000000301f4c 0x69c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000302218 _timer_delay
0x00000000003022c4 _timer_setup
0x00000000003024c4 _timer_start
0x00000000003024fc _timer_reload
0x0000000000302534 _timer_pause
0x0000000000302570 _timer_wait
0x00000000003025d8 _timer_timeout
.text 0x00000000003025e8 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
.text 0x00000000003025e8 0xcec /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(stdio.c.o)
0x0000000000302fe4 _kprint_opt
0x000000000030312c _kprint
0x000000000030320c _kvsprint
0x0000000000303254 _sprintf
0x000000000030327c _vsprintf
0x000000000030329c _snprintf
0x00000000003032bc _vsnprintf
.text 0x00000000003032d4 0xb8 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
0x0000000000303380 _clock_freq
*fill* 0x000000000030338c 0x4
.text 0x0000000000303390 0x100 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(bopti-asm.s.o)
0x0000000000303390 _bopti_r5g6b5
0x00000000003033e0 _bopti_r5g6b5a
0x0000000000303410 _bopti_p8
0x0000000000303440 _bopti_p4
.text 0x0000000000303490 0x2b4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
0x0000000000303490 _topti_render
0x0000000000303680 _dtext_opt
0x0000000000303724 _dtext
.text 0x0000000000303744 0x1ac /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
0x0000000000303744 _dfont
0x000000000030375c _charset_size
0x0000000000303788 _charset_decode
0x00000000003037f6 _topti_offset
0x0000000000303854 _dsize
.text 0x00000000003038f0 0x30 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpu.s.o)
0x00000000003038f0 _cpu_setCPUOPM
0x0000000000303902 _cpu_getCPUOPM
.text 0x0000000000303920 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.s.o)
.text 0x0000000000303920 0xfc /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(osmenu.c.o)
0x0000000000303a0c _gint_osmenu
*fill* 0x0000000000303a1c 0x4
.text 0x0000000000303a20 0x190 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(syscalls.S.o)
0x0000000000303a20 _malloc
0x0000000000303a34 _free
0x0000000000303a44 _calloc
0x0000000000303a54 _realloc
0x0000000000303a64 _BFile_Remove
0x0000000000303a74 _BFile_Create
0x0000000000303a84 _BFile_Open
0x0000000000303a94 _BFile_Close
0x0000000000303aa4 _BFile_Size
0x0000000000303ab4 _BFile_Write
0x0000000000303ac4 _BFile_Read
0x0000000000303ad4 _BFile_FindFirst
0x0000000000303ae4 _BFile_FindNext
0x0000000000303af4 _BFile_FindClose
0x0000000000303b04 ___Timer_Install
0x0000000000303b14 ___Timer_Start
0x0000000000303b24 ___Timer_Stop
0x0000000000303b34 ___Timer_Deinstall
0x0000000000303b44 ___PutKeyCode
0x0000000000303b54 ___GetKeyWait
0x0000000000303b64 ___ClearKeyBuffer
0x0000000000303b74 ___GetVRAMAddress
0x0000000000303b84 ___ConfigureStatusArea
0x0000000000303b94 ___SpecialMatrixCodeProcessing
.text 0x0000000000303bb0 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.S.o)
.text 0x0000000000303bb0 0xc0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(drect.c.o)
0x0000000000303bb0 _drect
.text 0x0000000000303c70 0xd0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti-asm.s.o)
0x0000000000303c70 _topti_glyph_fg_bg
0x0000000000303cae _topti_glyph_fg
0x0000000000303ce8 _topti_glyph_bg
.text 0x0000000000303d40 0x78 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_movmem.o)
0x0000000000303d40 ___movstr
0x0000000000303d40 ___movmem
0x0000000000303d74 ___movmemSI64
0x0000000000303d74 ___movstrSI64
0x0000000000303d78 ___movstrSI60
0x0000000000303d78 ___movmemSI60
0x0000000000303d7c ___movmemSI56
0x0000000000303d7c ___movstrSI56
0x0000000000303d80 ___movstrSI52
0x0000000000303d80 ___movmemSI52
0x0000000000303d84 ___movstrSI48
0x0000000000303d84 ___movmemSI48
0x0000000000303d88 ___movstrSI44
0x0000000000303d88 ___movmemSI44
0x0000000000303d8c ___movstrSI40
0x0000000000303d8c ___movmemSI40
0x0000000000303d90 ___movstrSI36
0x0000000000303d90 ___movmemSI36
0x0000000000303d94 ___movmemSI32
0x0000000000303d94 ___movstrSI32
0x0000000000303d98 ___movmemSI28
0x0000000000303d98 ___movstrSI28
0x0000000000303d9c ___movstrSI24
0x0000000000303d9c ___movmemSI24
0x0000000000303da0 ___movmemSI20
0x0000000000303da0 ___movstrSI20
0x0000000000303da4 ___movstrSI16
0x0000000000303da4 ___movmemSI16
0x0000000000303da8 ___movmemSI12
0x0000000000303da8 ___movstrSI12
0x0000000000303dac ___movmemSI8
0x0000000000303dac ___movstrSI8
0x0000000000303db0 ___movmemSI4
0x0000000000303db0 ___movstrSI4
.text 0x0000000000303db8 0x1e0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_udivdi3.o)
0x0000000000303db8 ___udivdi3
.text 0x0000000000303f98 0x208 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_umoddi3.o)
0x0000000000303f98 ___umoddi3
.text 0x00000000003041a0 0x60 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
0x00000000003041a0 ___udiv_qrnnd_16
.text 0x0000000000304200 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_clz.o)
.text 0x0000000000300208 0x194 build-cg/src/collide.c.o
0x0000000000300208 _collide
0x0000000000300336 _collide_solid
.text 0x000000000030039c 0x90 build-cg/src/drawlevel.c.o
0x000000000030039c _draw_player
0x00000000003003ac _draw_level
.text 0x000000000030042c 0x0 build-cg/src/main.c.o
.text.startup 0x000000000030042c 0x2ec build-cg/src/main.c.o
0x000000000030042c _main
.text 0x0000000000300718 0x90 build-cg/src/setlevel.c.o
0x0000000000300718 _set_level
.text 0x00000000003007a8 0xdc /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memory.c.o)
0x00000000003007a8 _memcpy
0x0000000000300862 __memmove
0x0000000000300866 __memcmp
0x000000000030086a _memset
.text 0x0000000000300884 0x7c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(string.c.o)
0x0000000000300884 _strlen
0x0000000000300894 _strncpy
0x00000000003008ac _strcat
0x00000000003008f0 _strcmp
.text 0x0000000000300900 0x3c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dupdate.c.o)
0x0000000000300900 _dupdate
0x0000000000300924 _dupdate_noint
.text 0x000000000030093c 0x1c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dclear.c.o)
0x000000000030093c _dclear
.text 0x0000000000300958 0x40 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dimage.c.o)
0x0000000000300958 _dimage
0x0000000000300980 _dsubimage
.text 0x0000000000300998 0x6c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dvram.c.o)
0x0000000000300998 _dsetvram
0x00000000003009c4 _dgetvram
0x00000000003009e4 _dvram_switch
.text 0x0000000000300a04 0x1e4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(bopti.c.o)
0x0000000000300a04 _bopti_render
0x0000000000300af4 _bopti_render_clip
0x0000000000300bbc _bopti_render_noclip
.text 0x0000000000300be8 0xbc /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dprint.c.o)
0x0000000000300be8 _dprint_opt
0x0000000000300c54 _dprint
.text 0x0000000000300ca4 0x2d4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
0x0000000000300cf4 _r61524_win_get
0x0000000000300dac _r61524_win_set
0x0000000000300e6c _r61524_display
.text 0x0000000000300f78 0x420 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x0000000000301248 _dma_transfer
0x0000000000301288 _dma_transfer_wait
0x000000000030132c _dma_transfer_noint
.text 0x0000000000301398 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
.text 0x0000000000301398 0x4c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memset.c.o)
0x0000000000301398 _dma_memset
.text 0x00000000003013e4 0xf4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(intc.c.o)
0x0000000000301460 _intc_priority
.text 0x00000000003014d8 0x30 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(start.c.o)
.text 0x0000000000301508 0x29c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.c.o)
0x0000000000301774 _gint_panic
0x0000000000301784 _gint_panic_set
0x0000000000301798 _gint_exc_catch
.text 0x00000000003017a4 0x40 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(hardware.c.o)
0x00000000003017a4 _hw_detect
.text 0x00000000003017e4 0x2b8 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(kernel.c.o)
0x0000000000301960 _kinit
0x00000000003019f4 _gint_inthandler
0x0000000000301a24 _gint_switch
0x0000000000301a74 _kquit
.text 0x0000000000301a9c 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tlbh.S.o)
.text 0x0000000000301a9c 0x424 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
0x0000000000301c74 _pollevent
0x0000000000301db0 _waitevent
0x0000000000301dfc _clearevents
0x0000000000301e1c _keydown
0x0000000000301e48 _keydown_all
0x0000000000301e84 _keydown_any
.text 0x0000000000301ec0 0x1f8 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(getkey.c.o)
0x0000000000301ec0 _getkey_opt
0x0000000000302070 _getkey
0x000000000030207c _getkey_repeat
.text 0x00000000003020b8 0x69c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000302384 _timer_delay
0x0000000000302430 _timer_setup
0x0000000000302630 _timer_start
0x0000000000302668 _timer_reload
0x00000000003026a0 _timer_pause
0x00000000003026dc _timer_wait
0x0000000000302744 _timer_timeout
.text 0x0000000000302754 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
.text 0x0000000000302754 0xcec /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(stdio.c.o)
0x0000000000303150 _kprint_opt
0x0000000000303298 _kprint
0x0000000000303378 _kvsprint
0x00000000003033c0 _sprintf
0x00000000003033e8 _vsprintf
0x0000000000303408 _snprintf
0x0000000000303428 _vsnprintf
.text 0x0000000000303440 0xb8 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
0x00000000003034ec _clock_freq
*fill* 0x00000000003034f8 0x8
.text 0x0000000000303500 0x100 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(bopti-asm.s.o)
0x0000000000303500 _bopti_r5g6b5
0x0000000000303550 _bopti_r5g6b5a
0x0000000000303580 _bopti_p8
0x00000000003035b0 _bopti_p4
.text 0x0000000000303600 0x2b4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
0x0000000000303600 _topti_render
0x00000000003037f0 _dtext_opt
0x0000000000303894 _dtext
.text 0x00000000003038b4 0x1ac /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
0x00000000003038b4 _dfont
0x00000000003038cc _charset_size
0x00000000003038f8 _charset_decode
0x0000000000303966 _topti_offset
0x00000000003039c4 _dsize
.text 0x0000000000303a60 0x30 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpu.s.o)
0x0000000000303a60 _cpu_setCPUOPM
0x0000000000303a72 _cpu_getCPUOPM
.text 0x0000000000303a90 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.s.o)
.text 0x0000000000303a90 0xfc /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(osmenu.c.o)
0x0000000000303b7c _gint_osmenu
*fill* 0x0000000000303b8c 0x4
.text 0x0000000000303b90 0x190 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(syscalls.S.o)
0x0000000000303b90 _malloc
0x0000000000303ba4 _free
0x0000000000303bb4 _calloc
0x0000000000303bc4 _realloc
0x0000000000303bd4 _BFile_Remove
0x0000000000303be4 _BFile_Create
0x0000000000303bf4 _BFile_Open
0x0000000000303c04 _BFile_Close
0x0000000000303c14 _BFile_Size
0x0000000000303c24 _BFile_Write
0x0000000000303c34 _BFile_Read
0x0000000000303c44 _BFile_FindFirst
0x0000000000303c54 _BFile_FindNext
0x0000000000303c64 _BFile_FindClose
0x0000000000303c74 ___Timer_Install
0x0000000000303c84 ___Timer_Start
0x0000000000303c94 ___Timer_Stop
0x0000000000303ca4 ___Timer_Deinstall
0x0000000000303cb4 ___PutKeyCode
0x0000000000303cc4 ___GetKeyWait
0x0000000000303cd4 ___ClearKeyBuffer
0x0000000000303ce4 ___GetVRAMAddress
0x0000000000303cf4 ___ConfigureStatusArea
0x0000000000303d04 ___SpecialMatrixCodeProcessing
.text 0x0000000000303d20 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.S.o)
.text 0x0000000000303d20 0xc0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(drect.c.o)
0x0000000000303d20 _drect
.text 0x0000000000303de0 0xd0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti-asm.s.o)
0x0000000000303de0 _topti_glyph_fg_bg
0x0000000000303e1e _topti_glyph_fg
0x0000000000303e58 _topti_glyph_bg
.text 0x0000000000303eb0 0x78 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_movmem.o)
0x0000000000303eb0 ___movstr
0x0000000000303eb0 ___movmem
0x0000000000303ee4 ___movmemSI64
0x0000000000303ee4 ___movstrSI64
0x0000000000303ee8 ___movstrSI60
0x0000000000303ee8 ___movmemSI60
0x0000000000303eec ___movmemSI56
0x0000000000303eec ___movstrSI56
0x0000000000303ef0 ___movstrSI52
0x0000000000303ef0 ___movmemSI52
0x0000000000303ef4 ___movstrSI48
0x0000000000303ef4 ___movmemSI48
0x0000000000303ef8 ___movstrSI44
0x0000000000303ef8 ___movmemSI44
0x0000000000303efc ___movstrSI40
0x0000000000303efc ___movmemSI40
0x0000000000303f00 ___movstrSI36
0x0000000000303f00 ___movmemSI36
0x0000000000303f04 ___movmemSI32
0x0000000000303f04 ___movstrSI32
0x0000000000303f08 ___movmemSI28
0x0000000000303f08 ___movstrSI28
0x0000000000303f0c ___movstrSI24
0x0000000000303f0c ___movmemSI24
0x0000000000303f10 ___movmemSI20
0x0000000000303f10 ___movstrSI20
0x0000000000303f14 ___movstrSI16
0x0000000000303f14 ___movmemSI16
0x0000000000303f18 ___movmemSI12
0x0000000000303f18 ___movstrSI12
0x0000000000303f1c ___movmemSI8
0x0000000000303f1c ___movstrSI8
0x0000000000303f20 ___movmemSI4
0x0000000000303f20 ___movstrSI4
.text 0x0000000000303f28 0x1e0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_udivdi3.o)
0x0000000000303f28 ___udivdi3
.text 0x0000000000304108 0x208 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_umoddi3.o)
0x0000000000304108 ___umoddi3
.text 0x0000000000304310 0x60 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o)
0x0000000000304310 ___udiv_qrnnd_16
.text 0x0000000000304370 0x0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_clz.o)
.gint.blocks 0x0000000000304200 0x160
.gint.blocks 0x0000000000304370 0x160
*(.gint.blocks)
.gint.blocks 0x0000000000304200 0x40 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
0x0000000000304200 _inth_dma_te
0x0000000000304220 _inth_dma_ae
.gint.blocks 0x0000000000304240 0xe0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
0x0000000000304240 _inth_tmu
0x00000000003042c0 _inth_etmu2
0x00000000003042e0 _inth_etmu_help
0x0000000000304300 _inth_etmux
.gint.blocks 0x0000000000304320 0x40 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.S.o)
0x0000000000304320 _gint_inth_7305
.gint.blocks 0x0000000000304370 0x40 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
0x0000000000304370 _inth_dma_te
0x0000000000304390 _inth_dma_ae
.gint.blocks 0x00000000003043b0 0xe0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.s.o)
0x00000000003043b0 _inth_tmu
0x0000000000304430 _inth_etmu2
0x0000000000304450 _inth_etmu_help
0x0000000000304470 _inth_etmux
.gint.blocks 0x0000000000304490 0x40 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(inth.S.o)
0x0000000000304490 _gint_inth_7305
.gint.drivers 0x0000000000304360 0xc0
0x0000000000304360 _bdrv = .
.gint.drivers 0x00000000003044d0 0xc0
0x00000000003044d0 _bdrv = .
*(.gint.drivers.0)
.gint.drivers.0
0x0000000000304360 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(intc.c.o)
0x0000000000304360 _drv_intc
0x00000000003044d0 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(intc.c.o)
0x00000000003044d0 _drv_intc
*(.gint.drivers.1)
.gint.drivers.1
0x0000000000304380 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
0x0000000000304380 _drv_cpg
0x00000000003044f0 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
0x00000000003044f0 _drv_cpg
*(.gint.drivers.2)
.gint.drivers.2
0x00000000003043a0 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x00000000003043a0 _drv_dma0
0x0000000000304510 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x0000000000304510 _drv_dma0
.gint.drivers.2
0x00000000003043c0 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x00000000003043c0 _drv_tmu
0x0000000000304530 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000304530 _drv_tmu
*(.gint.drivers.3)
*(.gint.drivers.4)
.gint.drivers.4
0x00000000003043e0 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
0x00000000003043e0 _drv_keysc
0x0000000000304550 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
0x0000000000304550 _drv_keysc
*(.gint.drivers.5)
.gint.drivers.5
0x0000000000304400 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
0x0000000000304400 _drv_r61524
0x0000000000304570 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
0x0000000000304570 _drv_r61524
*(.gint.drivers.6)
0x0000000000304420 _edrv = .
0x0000000000304590 _edrv = .
.rodata 0x0000000000304420 0xf80
.rodata 0x0000000000304590 0xf80
*(.rodata.4)
*(.rodata .rodata.*)
.rodata.str1.4
0x0000000000304420 0x7 build-cg/src/main.c.o
*fill* 0x0000000000304427 0x1
0x0000000000304590 0x7 build-cg/src/main.c.o
*fill* 0x0000000000304597 0x1
.rodata.str1.4
0x0000000000304428 0x16a build-cg/src/setlevel.c.o
*fill* 0x0000000000304592 0x2
.rodata 0x0000000000304594 0x208 build-cg/assets/img/solid_1.png.o
0x0000000000304594 _img_solid_1
0x000000000030479c _img_solid_1_end
.rodata 0x000000000030479c 0x128 build-cg/assets/img/player.png.o
0x000000000030479c _img_player
0x00000000003048c4 _img_player_end
.rodata 0x00000000003048c4 0x208 build-cg/assets/img/solid_0.png.o
0x00000000003048c4 _img_solid_0
0x0000000000304acc _img_solid_0_end
0x0000000000304598 0x16a build-cg/src/setlevel.c.o
*fill* 0x0000000000304702 0x2
.rodata 0x0000000000304704 0x208 build-cg/assets/img/solid_1.png.o
0x0000000000304704 _img_solid_1
0x000000000030490c _img_solid_1_end
.rodata 0x000000000030490c 0x128 build-cg/assets/img/player.png.o
0x000000000030490c _img_player
0x0000000000304a34 _img_player_end
.rodata 0x0000000000304a34 0x208 build-cg/assets/img/solid_0.png.o
0x0000000000304a34 _img_solid_0
0x0000000000304c3c _img_solid_0_end
.rodata.str1.4
0x0000000000304acc 0x7 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
*fill* 0x0000000000304ad3 0x1
.rodata 0x0000000000304ad4 0x30 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
0x0000000000304c3c 0x7 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
*fill* 0x0000000000304c43 0x1
.rodata 0x0000000000304c44 0x30 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
.rodata.str1.4
0x0000000000304b04 0x5 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
*fill* 0x0000000000304b09 0x3
0x0000000000304c74 0x5 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)
*fill* 0x0000000000304c79 0x3
.rodata.str1.4
0x0000000000304b0c 0x5 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(intc.c.o)
*fill* 0x0000000000304b11 0x3
0x0000000000304c7c 0x5 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(intc.c.o)
*fill* 0x0000000000304c81 0x3
.rodata.str1.4
0x0000000000304b14 0x288 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.c.o)
0x0000000000304c84 0x288 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(exch.c.o)
0x28c (size before relaxing)
.rodata.str1.4
0x0000000000304d9c 0x6 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
*fill* 0x0000000000304da2 0x2
.rodata 0x0000000000304da4 0xc /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000304f0c 0x6 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(keysc.c.o)
*fill* 0x0000000000304f12 0x2
.rodata 0x0000000000304f14 0xc /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
.rodata.str1.4
0x0000000000304db0 0x4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
0x0000000000304f20 0x4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(tmu.c.o)
.rodata.str1.4
0x0000000000304db4 0x31 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(stdio.c.o)
*fill* 0x0000000000304de5 0x3
0x0000000000304f24 0x31 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(stdio.c.o)
*fill* 0x0000000000304f55 0x3
.rodata.str1.4
0x0000000000304de8 0x4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
.rodata 0x0000000000304dec 0x18 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
.rodata 0x0000000000304e04 0x49c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(font8x9.png.o)
0x0000000000304e04 _gint_font8x9
0x00000000003052a0 _gint_font8x9_end
.rodata 0x00000000003052a0 0x100 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_clz.o)
0x00000000003052a0 ___clz_tab
0x0000000000304f58 0x4 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(cpg.c.o)
.rodata 0x0000000000304f5c 0x18 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(topti.c.o)
.rodata 0x0000000000304f74 0x49c /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(font8x9.png.o)
0x0000000000304f74 _gint_font8x9
0x0000000000305410 _gint_font8x9_end
.rodata 0x0000000000305410 0x100 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgcc.a(_clz.o)
0x0000000000305410 ___clz_tab
.rela.dyn 0x00000000003053a0 0x0
.rela.text 0x00000000003053a0 0x0 build-cg/src/drawlevel.c.o
.rela.dyn 0x0000000000305510 0x0
.rela.text 0x0000000000305510 0x0 build-cg/src/drawlevel.c.o
.rela.text.entry
0x00000000003053a0 0x0 build-cg/src/drawlevel.c.o
0x0000000000305510 0x0 build-cg/src/drawlevel.c.o
0x0000000008101400 . = ORIGIN (ram)
.bss 0x0000000008101400 0x150
@ -531,8 +531,8 @@ LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgc
*fill* 0x0000000008101548 0x8
0x0000000000000150 _sbss = SIZEOF (.bss)
.data 0x0000000008101550 0x170 load address 0x00000000003053a0
0x00000000003053a0 _ldata = LOADADDR (.data)
.data 0x0000000008101550 0x170 load address 0x0000000000305510
0x0000000000305510 _ldata = LOADADDR (.data)
0x0000000008101550 _rdata = .
*(.data .data.*)
.data 0x0000000008101550 0x0 build-cg/src/collide.c.o
@ -586,14 +586,14 @@ LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgc
0x00000000081016c0 . = ALIGN (0x10)
*fill* 0x00000000081016b8 0x8
.data.4 0x00000000081016c0 0x0 load address 0x0000000000305510
.data.4 0x00000000081016c0 0x0 load address 0x0000000000305680
*(.data.4)
0x00000000081016c0 . = ALIGN (0x10)
0x0000000000000170 _sdata = (SIZEOF (.data) + SIZEOF (.data.4))
0x00000000e5200000 . = ORIGIN (ilram)
.ilram 0x00000000e5200000 0x160 load address 0x0000000000305510
0x0000000000305510 _lilram = LOADADDR (.ilram)
.ilram 0x00000000e5200000 0x160 load address 0x0000000000305680
0x0000000000305680 _lilram = LOADADDR (.ilram)
0x00000000e5200000 _rilram = .
*(.ilram)
.ilram 0x00000000e5200000 0x20 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(memset.c.o)
@ -612,15 +612,15 @@ LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgc
*fill* 0x00000000e5200154 0xc
0x00000000e5007000 . = ORIGIN (xram)
.xram 0x00000000e5007000 0x0 load address 0x0000000000305670
0x0000000000305670 _lxram = LOADADDR (.xram)
.xram 0x00000000e5007000 0x0 load address 0x00000000003057e0
0x00000000003057e0 _lxram = LOADADDR (.xram)
0x00000000e5007000 _rxram = .
*(.xram)
0x00000000e5007000 . = ALIGN (0x10)
0x00000000e5017000 . = ORIGIN (yram)
.yram 0x00000000e5017000 0x0 load address 0x0000000000305670
0x0000000000305670 _lyram = LOADADDR (.yram)
.yram 0x00000000e5017000 0x0 load address 0x00000000003057e0
0x00000000003057e0 _lyram = LOADADDR (.yram)
0x00000000e5017000 _ryram = .
*(.yram)
0x00000000e5017000 . = ALIGN (0x10)
@ -631,8 +631,8 @@ LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgc
0x000000008815ff00 _gint_vbr_fxcg20 = (ORIGIN (vbr20) - 0x100)
0x00000000081016c0 . = ((ORIGIN (ram) + _sbss) + _sdata)
.gint.data 0x00000000081016c0 0xa0 load address 0x0000000000305670
0x0000000000305670 _lgdata = LOADADDR (.gint.data)
.gint.data 0x00000000081016c0 0xa0 load address 0x00000000003057e0
0x00000000003057e0 _lgdata = LOADADDR (.gint.data)
0x00000000081016c0 _rgdata = .
*(.gint.data .gint.data.*)
.gint.data 0x00000000081016c0 0x8 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
@ -650,7 +650,7 @@ LOAD /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/m4-nofpu/libgc
*fill* 0x0000000008101758 0x8
0x00000000000000a0 _sgdata = SIZEOF (.gint.data)
.gint.bss 0x0000000008101760 0x530 load address 0x0000000000305710
.gint.bss 0x0000000008101760 0x530 load address 0x0000000000305880
*(.gint.bss .gint.bss.*)
.gint.bss 0x0000000008101760 0x10 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(r61524.c.o)
.gint.bss 0x0000000008101770 0xd0 /home/benjamingr/Documents/casio/gcc/lib/gcc/sh3eb-elf/9.3.0/libgint-cg.a(dma.c.o)

Binary file not shown.

Binary file not shown.

View File

@ -1,2 +1,2 @@
int collide_vert(int x, int y, char level[], char gravity);
int collide_hor(int x, int y, char level[]);
void collide(int x, int y, char level[], char gravity, int *hor, int *vert, char block);
void collide_solid(int x, int y, char level[], char gravity, int *hor, int *vert);

View File

@ -1 +1 @@
void set_level(int id_level, char level[]);
void set_level(int id_level, char level[], int *startx, int *starty);

View File

@ -1,33 +1,35 @@
#include "collide.h"
#include "define.h"
#include <gint/display.h>
int collide_vert(int x, int y, char level[], char gravity) //detect if a block is colliding when changing gravity
void collide(int x, int y, char level[], char gravity, int *hor, int *vert, char block) //detect if a block is colliding when changing gravity
{
if((level[(int)(x/16)+(int)((y-1)/16*25)] != '0' ||
level[(int)((x+PLAYER_HEIGHT-1)/16)+(int)((y-1)/16*25)] != '0') && gravity) //return true if player is touching a block on top of him
if((level[(int)(x/16)+(int)((y-1)/16*25)] == block ||
level[(int)((x+PLAYER_HEIGHT-1)/16)+(int)((y-1)/16*25)] == block) && gravity) //return true if player is touching a block on the bottom of him
{
return 1;
*vert=1;
}
else if((level[(int)(x/16)+(int)((y+PLAYER_HEIGHT)/16*25)] != '0' ||
level[(int)((x+PLAYER_HEIGHT-1)/16)+(int)((y+PLAYER_HEIGHT)/16*25)] != '0') && !gravity) //return true if player is touching a block on the bottom of him
else if((level[(int)(x/16)+(int)((y+PLAYER_HEIGHT)/16*25)] == block ||
level[(int)((x+PLAYER_HEIGHT-1)/16)+(int)((y+PLAYER_HEIGHT)/16*25)] == block) && !gravity) //return true if player is touching a block on top of him
{
return 1;
*vert=1;
}
else return 0;
else *vert=0;
if(level[(int)((x+PLAYER_HEIGHT)/16)+(int)(y/16*25)] == block ||
level[(int)((x+PLAYER_HEIGHT)/16)+(int)((y+PLAYER_HEIGHT-1)/16*25)] == block) //return if player is next to a block on his right
{
*hor=1;
}
else if(level[(int)((x-1)/16)+(int)(y/16*25)] == block ||
level[(int)((x-1)/16)+(int)((y+PLAYER_HEIGHT-1)/16*25)] == block) //return if player is next to a block on his left
{
*hor=2;
}
else *hor=0;
}
int collide_hor(int x, int y, char level[]) //detect if a block is colliding with the player when going left or right
void collide_solid(int x, int y, char level[], char gravity, int *hor, int *vert)
{
if(level[(int)((x+PLAYER_HEIGHT)/16)+(int)(y/16*25)] != '0' ||
level[(int)((x+PLAYER_HEIGHT)/16)+(int)((y+PLAYER_HEIGHT-1)/16*25)] != '0') //return if player is next to a block on his right
{
return 1;
}
else if(level[(int)((x-1)/16)+(int)(y/16*25)] != '0' ||
level[(int)((x-1)/16)+(int)((y+PLAYER_HEIGHT-1)/16*25)] != '0') //return if player is next to a block on his left
{
return 2;
}
else return 0;
collide(x, y, level, gravity, hor, vert, '2'); //Truc étrange ici, les blocs 2 (rouges) agissent bizarrement
if(!*vert || !*hor) collide(x, y, level, gravity, hor, vert, '1');
}

View File

@ -9,12 +9,14 @@
int main(void)
{
dclear(C_WHITE);
int player_x=30, player_y=35;
int player_x = 20, player_y = 20;
char level[351];
char gravity = 0; //0 down 1 up
char check = 0;
int id_level = 1;
set_level(id_level,level);
int hor = 0;
int vert = 0;
set_level(id_level, level, &player_x, &player_y);
draw_level(level);
while(1)
{
@ -24,6 +26,9 @@ int main(void)
dprint(150,100,C_GREEN,"%d",player_x);
dprint(150,120,C_GREEN,"%d",player_y);
dprint(320,120,C_GREEN,"%d",hor);
dprint(320,140,C_GREEN,"%d",vert);
dprint(300,120,C_GREEN,"%c",level[(int)((player_x-1)/16)+(int)((player_y-1)/16*25)]); //top left
dprint(300,140,C_GREEN,"%c",level[(int)((player_x+PLAYER_HEIGHT)/16)+(int)((player_y-1)/16*25)]); //top right
dprint(300,160,C_GREEN,"%c",level[(int)(player_x/16)+(int)((player_y+PLAYER_HEIGHT)/16*25)]); //bottom left
@ -31,19 +36,20 @@ int main(void)
dupdate();
collide_solid(player_x, player_y, level, gravity, &hor, &vert);
pollevent();
if(keydown(KEY_RIGHT) && collide_hor(player_x, player_y, level)!=1)
if(keydown(KEY_RIGHT) && hor!=1)
{
player_x+=PLAYER_SPEED;
if(player_x>=388) player_x=-4;
}
else if(keydown(KEY_LEFT) && collide_hor(player_x, player_y, level)!=2)
else if(keydown(KEY_LEFT) && hor!=2)
{
player_x-=PLAYER_SPEED;
if(player_x<-9) player_x=384;
}
if(keydown(KEY_SHIFT) && !check && collide_vert(player_x, player_y, level, gravity))
if(keydown(KEY_SHIFT) && !check && vert)
{
if(!gravity) gravity=1;
else gravity=0;
@ -54,7 +60,8 @@ int main(void)
{
break;
}
switch (collide_vert(player_x, player_y, level, gravity))
collide_solid(player_x, player_y, level, gravity, &hor, &vert);
switch (vert)
{
case 0:
if(!gravity) player_y+=PLAYER_GRAVITY;

View File

@ -1,15 +1,36 @@
#include "setlevel.h"
#include <gint/std/string.h>
void set_level(int id_level, char level[])
void set_level(int id_level, char level[], int *startx, int *starty)
{
switch(id_level)
{
case 1:
memcpy(level,"11111111111111111111001111000000000000000000100001000000000000122221010000000000000000000000001000001000011110000000000111101100000001001000000000000110000000100100000000000011000000010012222000000001100000000001000000000000110000001111100000000000011001110100010000000000001100001000001111100000000110000100000100000000000011111111111111111111100111",350);
memcpy(level,"11111111111111111111001111000000000000000000100001000000000000122221010000000000000000000000001000001000011110000000000111101100000001001000000000000110000000100100000000000011000000010012222000000001100000000001000000000000110000001111100000000000011001110100010000000000001100001000001111100000000110s00100000100000000000011111111111111111111100111",350);
break;
case 2:
memcpy(level,"000001110",350);
break;
}
unsigned int x = 0;
unsigned int y = 0;
unsigned int i = 0;
while (i!=strlen(level))
{
switch(level[i])
{
case 's':
*startx = x;
*starty = y;
break;
}
x+=16;
if(x==16*25)
{
x=0;
y+=16;
}
i++;
}
}