From 575bae2ece628ebce22344534728f93b53e7f9b0 Mon Sep 17 00:00:00 2001 From: milangames-art Date: Sat, 7 Dec 2019 19:26:55 +0100 Subject: [PATCH] add koopas --- SuperCbr.g1a | Bin 43276 -> 45000 bytes assets-fx/img/carapace_verte.png | Bin 0 -> 550 bytes assets-fx/img/koopa_verte.png | Bin 0 -> 636 bytes build-fx/SuperCbr.bin | Bin 42764 -> 44488 bytes build-fx/SuperCbr.elf | Bin 57480 -> 59512 bytes build-fx/assets/img/carapace_verte.png.o | Bin 0 -> 480 bytes build-fx/assets/img/koopa_verte.png.o | Bin 0 -> 528 bytes build-fx/map | 670 ++++++++++++----------- build-fx/src/bonus.c.o | Bin 2820 -> 2820 bytes build-fx/src/box.c.o | Bin 1520 -> 1768 bytes build-fx/src/ennemi.c.o | Bin 2708 -> 3392 bytes build-fx/src/keyboard.c.o | Bin 1984 -> 2000 bytes build-fx/src/level.c.o | Bin 7664 -> 8560 bytes build-fx/src/mario.c.o | Bin 3960 -> 3944 bytes build-fx/src/world.c.o | Bin 3136 -> 3136 bytes src/bonus.c | 4 +- src/box.c | 21 +- src/box.h | 2 +- src/ennemi.c | 138 ++++- src/ennemi.h | 21 +- src/keyboard.c | 2 + src/level.c | 36 +- src/mario.c | 5 +- src/world.c | 45 +- 24 files changed, 564 insertions(+), 380 deletions(-) create mode 100644 assets-fx/img/carapace_verte.png create mode 100644 assets-fx/img/koopa_verte.png create mode 100644 build-fx/assets/img/carapace_verte.png.o create mode 100644 build-fx/assets/img/koopa_verte.png.o diff --git a/SuperCbr.g1a b/SuperCbr.g1a index 54b5da4dfbfeb9896ff6686e82686876f8b16144..db763e58e575383f799b8a2fc36839109e1d566b 100644 GIT binary patch delta 4556 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 Mu@3WBK33uX0ww+r_5c6? diff --git a/assets-fx/img/carapace_verte.png b/assets-fx/img/carapace_verte.png new file mode 100644 index 0000000000000000000000000000000000000000..adff6263de0fdb6d448880e425365995d36dabf5 GIT binary patch literal 550 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 literal 0 HcmV?d00001 diff --git a/build-fx/assets/img/koopa_verte.png.o b/build-fx/assets/img/koopa_verte.png.o new file mode 100644 index 0000000000000000000000000000000000000000..6d338a8f531e82f404786e3770c6df067297bab8 GIT binary patch literal 528 zcmb<-^>JflVq|~=Mg}b)8(F{uEN22HH5gbKSQwZbcoYN}85)2>2?mS}2Y~c~07i!e zNc5XB-eV7d{7sRYw0@5W#5IO_KD#}kuEJ*}eODvEEDg?Qm3911UvS4>Z`7nPWs{u*P0O9~326`W? qmjy@zy~@A|6$4UW@B&EMLfIe+W}YCB4blq*jH*C}GK>eL!Ri3Szd%#~ literal 0 HcmV?d00001 diff --git a/build-fx/map b/build-fx/map index ddc42f8..2ed5bfa 100644 --- a/build-fx/map +++ b/build-fx/map @@ -189,7 +189,9 @@ LOAD build-fx/assets/img/error.png.o LOAD build-fx/assets/img/1up.png.o LOAD build-fx/assets/img/tuyau.png.o LOAD build-fx/assets/img/bullet.png.o +LOAD build-fx/assets/img/carapace_verte.png.o LOAD build-fx/assets/img/nuage.png.o +LOAD build-fx/assets/img/koopa_verte.png.o LOAD build-fx/assets/img/level.png.o LOAD build-fx/assets/img/goomba.png.o LOAD build-fx/assets/img/fleur.png.o @@ -199,7 +201,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300000 _brom = 0x300000 - 0x0000000000009cec _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x000000000000a3a8 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) .pretext 0x0000000000300200 0x8d0 *(.pretext.entry) @@ -239,7 +241,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *(.dtors .dtors.*) 0x0000000000300ad0 _etors = . -.text 0x0000000000300ad0 0x5000 +.text 0x0000000000300ad0 0x5290 0x0000000000300ad0 _gint_exch_tlbh_start = . *(.gint.exch_tlbh) .gint.exch_tlbh @@ -261,353 +263,361 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300db8 _score_display .text 0x0000000000300ef8 0x40 build-fx/src/tile.c.o 0x0000000000300ef8 _draw_tile - .text 0x0000000000300f38 0x2f8 build-fx/src/box.c.o + .text 0x0000000000300f38 0x370 build-fx/src/box.c.o 0x0000000000300f38 _sgn - 0x0000000000300f4a _box_move - 0x00000000003011d0 _box_jump - .text 0x0000000000301230 0x544 build-fx/src/world.c.o - 0x0000000000301230 _world_get_width - 0x0000000000301240 _world_get - 0x00000000003012a4 _display_cell - 0x00000000003015e4 _world_get_ctg - 0x000000000030161c _world_get_real_x0 - 0x0000000000301654 _world_get_real_y0 - 0x0000000000301668 _world_draw - .text 0x0000000000301774 0x40c build-fx/src/bonus.c.o - 0x0000000000301774 _lance_bullet - 0x00000000003017cc _bullet_display - 0x0000000000301920 _bonus_set - 0x0000000000301950 _bonus_move - 0x0000000000301abc _bonus_draw - .text 0x0000000000301b80 0x6c4 build-fx/src/mario.c.o - 0x0000000000301b90 _mario_bigger - 0x0000000000301bb0 _mario_smaller - 0x0000000000301be8 _mario_draw - 0x0000000000301d5c _test_sol_le_plus_proche - 0x0000000000301dc8 _mario_move - .text 0x0000000000302244 0x40 build-fx/src/main.c.o - 0x0000000000302244 _callback - 0x000000000030224c _system_error - .text.startup 0x0000000000302284 0x1c0 build-fx/src/main.c.o - 0x0000000000302284 _main - .text 0x0000000000302444 0x278 build-fx/src/keyboard.c.o - 0x0000000000302444 _menu_pause - 0x00000000003025cc _update_keyboard - .text 0x00000000003026bc 0x3e4 build-fx/src/ennemi.c.o - 0x00000000003026bc _display_ennemi - 0x00000000003027ac _ennemi_check_collision - 0x0000000000302800 _hurt_mario - 0x0000000000302834 _move_ennemi - 0x0000000000302a60 _display_ennemi_table - .text 0x0000000000302aa0 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x000000000030349c _kprint_opt - 0x00000000003035e4 _kprint - 0x00000000003036bc _kvsprint - 0x0000000000303704 _sprintf - 0x000000000030372c _vsprintf - 0x000000000030374c _snprintf - 0x000000000030376c _vsnprintf - .text 0x0000000000303784 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - 0x0000000000303784 _memcpy - 0x000000000030383e __memmove - 0x0000000000303842 __memcmp - 0x0000000000303846 _memset - .text 0x0000000000303860 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .text 0x0000000000303860 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .text 0x0000000000303860 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - 0x0000000000303860 _dupdate - 0x0000000000303878 _dupdate_noint - .text 0x0000000000303884 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - 0x0000000000303884 _dimage - 0x00000000003038d8 _dsubimage - .text 0x000000000030394c 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - 0x000000000030394c _dclear - .text 0x0000000000303998 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000303b40 _pollevent - 0x0000000000303c84 _waitevent - 0x0000000000303cd0 _clearevents - 0x0000000000303cf0 _keydown - 0x0000000000303d1c _keydown_all - 0x0000000000303d58 _keydown_any - .text 0x0000000000303d94 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - 0x0000000000303da0 _iokbd_row - 0x0000000000303e88 _iokbd_scan - .text 0x0000000000303eb8 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - 0x0000000000303eb8 _getkey_opt - 0x0000000000304064 _getkey - 0x0000000000304070 _getkey_repeat - .text 0x00000000003040ac 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .text 0x00000000003040ac 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - 0x000000000030423c _gint_panic - 0x000000000030424c _gint_panic_set - 0x0000000000304258 _gint_exc_catch - 0x0000000000304264 _gint_exc_skip - .text 0x0000000000304270 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .text 0x0000000000304270 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - 0x0000000000304324 _gint_install - 0x00000000003043d4 _gint_unload - .text 0x00000000003043ec 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .text 0x00000000003043ec 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .text 0x00000000003043ec 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - 0x00000000003043ec _tlb_addr - 0x0000000000304400 _tlb_data - 0x0000000000304414 _tlb_mapped_memory - 0x00000000003044e8 _utlb_addr - 0x00000000003044f8 _utlb_data - 0x0000000000304508 _utlb_mapped_memory - .text 0x00000000003045e0 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x00000000003045e0 _dsize - .text 0x000000000030467c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - 0x000000000030467c _dprint - .text 0x00000000003046d4 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x00000000003049f4 _timer_setup - 0x0000000000304a84 _timer_delay - 0x0000000000304ae4 _timer_start - 0x0000000000304b18 _timer_reload - 0x0000000000304b38 _timer_pause - 0x0000000000304b6c _timer_stop - 0x0000000000304bc8 _timer_timeout - 0x0000000000304bd4 _timer_address - 0x0000000000304c10 _timer_clear - .text 0x0000000000304c40 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - 0x0000000000304c40 _sleep_us - .text 0x0000000000304c98 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x0000000000304d30 _t6k11_display - 0x0000000000304e04 _t6k11_contrast - 0x0000000000304e30 _t6k11_backlight - .text 0x0000000000304e70 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000304fb4 _clock_freq - .text 0x0000000000304fc0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) - .text 0x0000000000304fc0 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - 0x0000000000304fc0 _bopti_asm_mono - 0x0000000000304fe6 _bopti_asm_mono_alpha - .text 0x0000000000305018 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - 0x0000000000305018 _bopti_grid - 0x000000000030518c _bopti_render - 0x00000000003052bc _bopti_render_clip - 0x00000000003053d0 _bopti_render_noclip - .text 0x0000000000305428 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - 0x0000000000305428 _masks - .text 0x00000000003054c4 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - 0x00000000003054c4 _gint_setvbr - .text 0x00000000003054f0 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - 0x00000000003054f0 _gint_intlevel - 0x0000000000305544 _gint_inthandler - .text 0x0000000000305568 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .text 0x0000000000305568 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .text 0x0000000000305568 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - 0x0000000000305568 ___movstr - 0x0000000000305568 ___movmem - 0x000000000030559c ___movmemSI64 - 0x000000000030559c ___movstrSI64 - 0x00000000003055a0 ___movstrSI60 - 0x00000000003055a0 ___movmemSI60 - 0x00000000003055a4 ___movmemSI56 - 0x00000000003055a4 ___movstrSI56 - 0x00000000003055a8 ___movstrSI52 - 0x00000000003055a8 ___movmemSI52 - 0x00000000003055ac ___movstrSI48 - 0x00000000003055ac ___movmemSI48 - 0x00000000003055b0 ___movstrSI44 - 0x00000000003055b0 ___movmemSI44 - 0x00000000003055b4 ___movstrSI40 - 0x00000000003055b4 ___movmemSI40 - 0x00000000003055b8 ___movstrSI36 - 0x00000000003055b8 ___movmemSI36 - 0x00000000003055bc ___movmemSI32 - 0x00000000003055bc ___movstrSI32 - 0x00000000003055c0 ___movmemSI28 - 0x00000000003055c0 ___movstrSI28 - 0x00000000003055c4 ___movstrSI24 - 0x00000000003055c4 ___movmemSI24 - 0x00000000003055c8 ___movmemSI20 - 0x00000000003055c8 ___movstrSI20 - 0x00000000003055cc ___movstrSI16 - 0x00000000003055cc ___movmemSI16 - 0x00000000003055d0 ___movmemSI12 - 0x00000000003055d0 ___movstrSI12 - 0x00000000003055d4 ___movmemSI8 - 0x00000000003055d4 ___movstrSI8 - 0x00000000003055d8 ___movmemSI4 - 0x00000000003055d8 ___movstrSI4 - .text 0x00000000003055e0 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - 0x00000000003055e0 ___udivdi3 - .text 0x00000000003057d0 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - 0x00000000003057d0 ___umoddi3 - .text 0x0000000000305a04 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - 0x0000000000305a26 ___udivsi3 - .text 0x0000000000305a70 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000305a70 ___udiv_qrnnd_16 - .text 0x0000000000305ad0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000300f4a _check_collision + 0x0000000000300fc4 _box_move + 0x0000000000301248 _box_jump + .text 0x00000000003012a8 0x544 build-fx/src/world.c.o + 0x00000000003012a8 _world_get_width + 0x00000000003012b8 _world_get + 0x000000000030131c _display_cell + 0x000000000030165c _world_get_ctg + 0x0000000000301694 _world_get_real_x0 + 0x00000000003016cc _world_get_real_y0 + 0x00000000003016e0 _world_draw + .text 0x00000000003017ec 0x40c build-fx/src/bonus.c.o + 0x00000000003017ec _lance_bullet + 0x0000000000301844 _bullet_display + 0x0000000000301998 _bonus_set + 0x00000000003019c8 _bonus_move + 0x0000000000301b34 _bonus_draw + .text 0x0000000000301bf8 0x6b4 build-fx/src/mario.c.o + 0x0000000000301c08 _mario_bigger + 0x0000000000301c24 _mario_smaller + 0x0000000000301c50 _mario_draw + 0x0000000000301dc4 _test_sol_le_plus_proche + 0x0000000000301e30 _mario_move + .text 0x00000000003022ac 0x40 build-fx/src/main.c.o + 0x00000000003022ac _callback + 0x00000000003022b4 _system_error + .text.startup 0x00000000003022ec 0x1c0 build-fx/src/main.c.o + 0x00000000003022ec _main + .text 0x00000000003024ac 0x288 build-fx/src/keyboard.c.o + 0x00000000003024ac _menu_pause + 0x0000000000302644 _update_keyboard + .text 0x0000000000302734 0x5f8 build-fx/src/ennemi.c.o + 0x0000000000302734 _display_ennemi + 0x00000000003028d0 _ennemi_check_collision + 0x000000000030292c _hurt_mario + 0x0000000000302960 _move_ennemi + 0x0000000000302cec _display_ennemi_table + .text 0x0000000000302d2c 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000000303728 _kprint_opt + 0x0000000000303870 _kprint + 0x0000000000303948 _kvsprint + 0x0000000000303990 _sprintf + 0x00000000003039b8 _vsprintf + 0x00000000003039d8 _snprintf + 0x00000000003039f8 _vsnprintf + .text 0x0000000000303a10 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + 0x0000000000303a10 _memcpy + 0x0000000000303aca __memmove + 0x0000000000303ace __memcmp + 0x0000000000303ad2 _memset + .text 0x0000000000303aec 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .text 0x0000000000303aec 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .text 0x0000000000303aec 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + 0x0000000000303aec _dupdate + 0x0000000000303b04 _dupdate_noint + .text 0x0000000000303b10 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x0000000000303b10 _dimage + 0x0000000000303b64 _dsubimage + .text 0x0000000000303bd8 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + 0x0000000000303bd8 _dclear + .text 0x0000000000303c24 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000303dcc _pollevent + 0x0000000000303f10 _waitevent + 0x0000000000303f5c _clearevents + 0x0000000000303f7c _keydown + 0x0000000000303fa8 _keydown_all + 0x0000000000303fe4 _keydown_any + .text 0x0000000000304020 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + 0x000000000030402c _iokbd_row + 0x0000000000304114 _iokbd_scan + .text 0x0000000000304144 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + 0x0000000000304144 _getkey_opt + 0x00000000003042f0 _getkey + 0x00000000003042fc _getkey_repeat + .text 0x0000000000304338 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .text 0x0000000000304338 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x00000000003044c8 _gint_panic + 0x00000000003044d8 _gint_panic_set + 0x00000000003044e4 _gint_exc_catch + 0x00000000003044f0 _gint_exc_skip + .text 0x00000000003044fc 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .text 0x00000000003044fc 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + 0x00000000003045b0 _gint_install + 0x0000000000304660 _gint_unload + .text 0x0000000000304678 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .text 0x0000000000304678 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .text 0x0000000000304678 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + 0x0000000000304678 _tlb_addr + 0x000000000030468c _tlb_data + 0x00000000003046a0 _tlb_mapped_memory + 0x0000000000304774 _utlb_addr + 0x0000000000304784 _utlb_data + 0x0000000000304794 _utlb_mapped_memory + .text 0x000000000030486c 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x000000000030486c _dsize + .text 0x0000000000304908 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + 0x0000000000304908 _dprint + .text 0x0000000000304960 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000304c80 _timer_setup + 0x0000000000304d10 _timer_delay + 0x0000000000304d70 _timer_start + 0x0000000000304da4 _timer_reload + 0x0000000000304dc4 _timer_pause + 0x0000000000304df8 _timer_stop + 0x0000000000304e54 _timer_timeout + 0x0000000000304e60 _timer_address + 0x0000000000304e9c _timer_clear + .text 0x0000000000304ecc 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + 0x0000000000304ecc _sleep_us + .text 0x0000000000304f24 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000304fbc _t6k11_display + 0x0000000000305090 _t6k11_contrast + 0x00000000003050bc _t6k11_backlight + .text 0x00000000003050fc 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x0000000000305240 _clock_freq + .text 0x000000000030524c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti-asm.s.o) + .text 0x000000000030524c 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + 0x000000000030524c _bopti_asm_mono + 0x0000000000305272 _bopti_asm_mono_alpha + .text 0x00000000003052a4 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x00000000003052a4 _bopti_grid + 0x0000000000305418 _bopti_render + 0x0000000000305548 _bopti_render_clip + 0x000000000030565c _bopti_render_noclip + .text 0x00000000003056b4 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + 0x00000000003056b4 _masks + .text 0x0000000000305750 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + 0x0000000000305750 _gint_setvbr + .text 0x000000000030577c 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + 0x000000000030577c _gint_intlevel + 0x00000000003057d0 _gint_inthandler + .text 0x00000000003057f4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .text 0x00000000003057f4 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .text 0x00000000003057f4 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + 0x00000000003057f4 ___movstr + 0x00000000003057f4 ___movmem + 0x0000000000305828 ___movmemSI64 + 0x0000000000305828 ___movstrSI64 + 0x000000000030582c ___movstrSI60 + 0x000000000030582c ___movmemSI60 + 0x0000000000305830 ___movmemSI56 + 0x0000000000305830 ___movstrSI56 + 0x0000000000305834 ___movstrSI52 + 0x0000000000305834 ___movmemSI52 + 0x0000000000305838 ___movstrSI48 + 0x0000000000305838 ___movmemSI48 + 0x000000000030583c ___movstrSI44 + 0x000000000030583c ___movmemSI44 + 0x0000000000305840 ___movstrSI40 + 0x0000000000305840 ___movmemSI40 + 0x0000000000305844 ___movstrSI36 + 0x0000000000305844 ___movmemSI36 + 0x0000000000305848 ___movmemSI32 + 0x0000000000305848 ___movstrSI32 + 0x000000000030584c ___movmemSI28 + 0x000000000030584c ___movstrSI28 + 0x0000000000305850 ___movstrSI24 + 0x0000000000305850 ___movmemSI24 + 0x0000000000305854 ___movmemSI20 + 0x0000000000305854 ___movstrSI20 + 0x0000000000305858 ___movstrSI16 + 0x0000000000305858 ___movmemSI16 + 0x000000000030585c ___movmemSI12 + 0x000000000030585c ___movstrSI12 + 0x0000000000305860 ___movmemSI8 + 0x0000000000305860 ___movstrSI8 + 0x0000000000305864 ___movmemSI4 + 0x0000000000305864 ___movstrSI4 + .text 0x000000000030586c 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + 0x000000000030586c ___udivdi3 + .text 0x0000000000305a5c 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + 0x0000000000305a5c ___umoddi3 + .text 0x0000000000305c90 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + 0x0000000000305cb2 ___udivsi3 + *fill* 0x0000000000305cfc 0x4 + .text 0x0000000000305d00 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000305d00 ___udiv_qrnnd_16 + .text 0x0000000000305d60 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(C P) -.gint.blocks 0x0000000000305ad0 0x120 +.gint.blocks 0x0000000000305d60 0x120 *(.gint.blocks) - .gint.blocks 0x0000000000305ad0 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - 0x0000000000305ad0 _gint_inth_7305 - 0x0000000000305af0 _gint_inth_7705 - .gint.blocks 0x0000000000305b10 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - 0x0000000000305b10 _inth_tmu - 0x0000000000305b90 _inth_etmu2 - 0x0000000000305bb0 _inth_etmu_help - 0x0000000000305bd0 _inth_etmux + .gint.blocks 0x0000000000305d60 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + 0x0000000000305d60 _gint_inth_7305 + 0x0000000000305d80 _gint_inth_7705 + .gint.blocks 0x0000000000305da0 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + 0x0000000000305da0 _inth_tmu + 0x0000000000305e20 _inth_etmu2 + 0x0000000000305e40 _inth_etmu_help + 0x0000000000305e60 _inth_etmux -.gint.drivers 0x0000000000305bf0 0x90 - 0x0000000000305bf0 _bdrv = . +.gint.drivers 0x0000000000305e80 0x90 + 0x0000000000305e80 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x0000000000305bf0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000305bf0 _drv_cpg + 0x0000000000305e80 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x0000000000305e80 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000305c14 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x0000000000305c14 _drv_tmu + 0x0000000000305ea4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000305ea4 _drv_tmu *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x0000000000305c38 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000305c38 _drv_keysc + 0x0000000000305ec8 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000305ec8 _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x0000000000305c5c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x0000000000305c5c _drv_t6k11 + 0x0000000000305eec 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000305eec _drv_t6k11 *(.gint.drivers.6) - 0x0000000000305c80 _edrv = . + 0x0000000000305f10 _edrv = . -.rodata 0x0000000000305c80 0x493c +.rodata 0x0000000000305f10 0x4d68 *(.rodata.4) *(.rodata .rodata.*) - .rodata 0x0000000000305c80 0x158c build-fx/src/level.c.o + .rodata 0x0000000000305f10 0x190c build-fx/src/level.c.o .rodata.str1.4 - 0x000000000030720c 0x1e build-fx/src/score.c.o + 0x000000000030781c 0x1e build-fx/src/score.c.o .rodata.str1.4 - 0x000000000030722a 0x3 build-fx/src/main.c.o - *fill* 0x000000000030722a 0x2 - .rodata 0x000000000030722c 0x28 build-fx/src/keyboard.c.o - .rodata 0x0000000000307254 0x10 build-fx/src/ennemi.c.o - .rodata 0x0000000000307264 0x204 build-fx/assets/fonts/mario.png.o - 0x0000000000307264 _font_mario - 0x0000000000307468 _font_mario_end - .rodata 0x0000000000307468 0x20 build-fx/assets/img/bonus.png.o - 0x0000000000307468 _img_bonus - 0x0000000000307488 _img_bonus_end - .rodata 0x0000000000307488 0x24 build-fx/assets/img/bloc.png.o - 0x0000000000307488 _img_bloc - 0x00000000003074ac _img_bloc_end - .rodata 0x00000000003074ac 0x404 build-fx/assets/img/ram.png.o - 0x00000000003074ac _img_ram - 0x00000000003078b0 _img_ram_end - .rodata 0x00000000003078b0 0x64 build-fx/assets/img/mario.png.o - 0x00000000003078b0 _img_mario - 0x0000000000307914 _img_mario_end - .rodata 0x0000000000307914 0x404 build-fx/assets/img/main.png.o - 0x0000000000307914 _img_main - 0x0000000000307d18 _img_main_end - .rodata 0x0000000000307d18 0x404 build-fx/assets/img/new_level.png.o - 0x0000000000307d18 _img_new_level - 0x000000000030811c _img_new_level_end - .rodata 0x000000000030811c 0x4c build-fx/assets/img/brick.png.o - 0x000000000030811c _img_brick - 0x0000000000308168 _img_brick_end - .rodata 0x0000000000308168 0x84 build-fx/assets/img/menu_pause.png.o - 0x0000000000308168 _img_menu_pause - 0x00000000003081ec _img_menu_pause_end - .rodata 0x00000000003081ec 0x18 build-fx/assets/img/select_arrow.png.o - 0x00000000003081ec _img_select_arrow - 0x0000000000308204 _img_select_arrow_end - .rodata 0x0000000000308204 0x804 build-fx/assets/img/dev.png.o - 0x0000000000308204 _img_dev - 0x0000000000308a08 _img_dev_end - .rodata 0x0000000000308a08 0x24 build-fx/assets/img/death.png.o - 0x0000000000308a08 _img_death - 0x0000000000308a2c _img_death_end - .rodata 0x0000000000308a2c 0x404 build-fx/assets/img/time_over.png.o - 0x0000000000308a2c _img_time_over - 0x0000000000308e30 _img_time_over_end - .rodata 0x0000000000308e30 0x4c build-fx/assets/img/coin.png.o - 0x0000000000308e30 _img_coin - 0x0000000000308e7c _img_coin_end - .rodata 0x0000000000308e7c 0x24 build-fx/assets/img/champi.png.o - 0x0000000000308e7c _img_champi - 0x0000000000308ea0 _img_champi_end - .rodata 0x0000000000308ea0 0xdc build-fx/assets/img/mariosmall.png.o - 0x0000000000308ea0 _img_mariosmall - 0x0000000000308f7c _img_mariosmall_end - .rodata 0x0000000000308f7c 0x28 build-fx/assets/img/gift.png.o - 0x0000000000308f7c _img_gift - 0x0000000000308fa4 _img_gift_end - .rodata 0x0000000000308fa4 0x24 build-fx/assets/img/buisson.png.o - 0x0000000000308fa4 _img_buisson - 0x0000000000308fc8 _img_buisson_end - .rodata 0x0000000000308fc8 0x44 build-fx/assets/img/colline.png.o - 0x0000000000308fc8 _img_colline - 0x000000000030900c _img_colline_end - .rodata 0x000000000030900c 0x114 build-fx/assets/img/mariobig.png.o - 0x000000000030900c _img_mariobig - 0x0000000000309120 _img_mariobig_end - .rodata 0x0000000000309120 0x404 build-fx/assets/img/error.png.o - 0x0000000000309120 _img_error - 0x0000000000309524 _img_error_end - .rodata 0x0000000000309524 0x24 build-fx/assets/img/1up.png.o - 0x0000000000309524 _img_1up - 0x0000000000309548 _img_1up_end - .rodata 0x0000000000309548 0xb8 build-fx/assets/img/tuyau.png.o - 0x0000000000309548 _img_tuyau - 0x0000000000309600 _img_tuyau_end - .rodata 0x0000000000309600 0x14 build-fx/assets/img/bullet.png.o - 0x0000000000309600 _img_bullet - 0x0000000000309614 _img_bullet_end - .rodata 0x0000000000309614 0x44 build-fx/assets/img/nuage.png.o - 0x0000000000309614 _img_nuage - 0x0000000000309658 _img_nuage_end - .rodata 0x0000000000309658 0x404 build-fx/assets/img/level.png.o - 0x0000000000309658 _img_level - 0x0000000000309a5c _img_level_end - .rodata 0x0000000000309a5c 0x4c build-fx/assets/img/goomba.png.o - 0x0000000000309a5c _img_goomba - 0x0000000000309aa8 _img_goomba_end - .rodata 0x0000000000309aa8 0x24 build-fx/assets/img/fleur.png.o - 0x0000000000309aa8 _img_fleur - 0x0000000000309acc _img_fleur_end - .rodata 0x0000000000309acc 0x4c build-fx/assets/img/stone.png.o - 0x0000000000309acc _img_stone - 0x0000000000309b18 _img_stone_end - .rodata 0x0000000000309b18 0x404 build-fx/assets/img/lvl0.png.o - 0x0000000000309b18 _img_lvl0 - 0x0000000000309f1c _img_lvl0_end + 0x000000000030783a 0x3 build-fx/src/main.c.o + *fill* 0x000000000030783a 0x2 + .rodata 0x000000000030783c 0x28 build-fx/src/keyboard.c.o + .rodata 0x0000000000307864 0x30 build-fx/src/ennemi.c.o + .rodata 0x0000000000307894 0x204 build-fx/assets/fonts/mario.png.o + 0x0000000000307894 _font_mario + 0x0000000000307a98 _font_mario_end + .rodata 0x0000000000307a98 0x20 build-fx/assets/img/bonus.png.o + 0x0000000000307a98 _img_bonus + 0x0000000000307ab8 _img_bonus_end + .rodata 0x0000000000307ab8 0x24 build-fx/assets/img/bloc.png.o + 0x0000000000307ab8 _img_bloc + 0x0000000000307adc _img_bloc_end + .rodata 0x0000000000307adc 0x404 build-fx/assets/img/ram.png.o + 0x0000000000307adc _img_ram + 0x0000000000307ee0 _img_ram_end + .rodata 0x0000000000307ee0 0x64 build-fx/assets/img/mario.png.o + 0x0000000000307ee0 _img_mario + 0x0000000000307f44 _img_mario_end + .rodata 0x0000000000307f44 0x404 build-fx/assets/img/main.png.o + 0x0000000000307f44 _img_main + 0x0000000000308348 _img_main_end + .rodata 0x0000000000308348 0x404 build-fx/assets/img/new_level.png.o + 0x0000000000308348 _img_new_level + 0x000000000030874c _img_new_level_end + .rodata 0x000000000030874c 0x4c build-fx/assets/img/brick.png.o + 0x000000000030874c _img_brick + 0x0000000000308798 _img_brick_end + .rodata 0x0000000000308798 0x84 build-fx/assets/img/menu_pause.png.o + 0x0000000000308798 _img_menu_pause + 0x000000000030881c _img_menu_pause_end + .rodata 0x000000000030881c 0x18 build-fx/assets/img/select_arrow.png.o + 0x000000000030881c _img_select_arrow + 0x0000000000308834 _img_select_arrow_end + .rodata 0x0000000000308834 0x804 build-fx/assets/img/dev.png.o + 0x0000000000308834 _img_dev + 0x0000000000309038 _img_dev_end + .rodata 0x0000000000309038 0x24 build-fx/assets/img/death.png.o + 0x0000000000309038 _img_death + 0x000000000030905c _img_death_end + .rodata 0x000000000030905c 0x404 build-fx/assets/img/time_over.png.o + 0x000000000030905c _img_time_over + 0x0000000000309460 _img_time_over_end + .rodata 0x0000000000309460 0x4c build-fx/assets/img/coin.png.o + 0x0000000000309460 _img_coin + 0x00000000003094ac _img_coin_end + .rodata 0x00000000003094ac 0x24 build-fx/assets/img/champi.png.o + 0x00000000003094ac _img_champi + 0x00000000003094d0 _img_champi_end + .rodata 0x00000000003094d0 0xdc build-fx/assets/img/mariosmall.png.o + 0x00000000003094d0 _img_mariosmall + 0x00000000003095ac _img_mariosmall_end + .rodata 0x00000000003095ac 0x28 build-fx/assets/img/gift.png.o + 0x00000000003095ac _img_gift + 0x00000000003095d4 _img_gift_end + .rodata 0x00000000003095d4 0x24 build-fx/assets/img/buisson.png.o + 0x00000000003095d4 _img_buisson + 0x00000000003095f8 _img_buisson_end + .rodata 0x00000000003095f8 0x44 build-fx/assets/img/colline.png.o + 0x00000000003095f8 _img_colline + 0x000000000030963c _img_colline_end + .rodata 0x000000000030963c 0x114 build-fx/assets/img/mariobig.png.o + 0x000000000030963c _img_mariobig + 0x0000000000309750 _img_mariobig_end + .rodata 0x0000000000309750 0x404 build-fx/assets/img/error.png.o + 0x0000000000309750 _img_error + 0x0000000000309b54 _img_error_end + .rodata 0x0000000000309b54 0x24 build-fx/assets/img/1up.png.o + 0x0000000000309b54 _img_1up + 0x0000000000309b78 _img_1up_end + .rodata 0x0000000000309b78 0xb8 build-fx/assets/img/tuyau.png.o + 0x0000000000309b78 _img_tuyau + 0x0000000000309c30 _img_tuyau_end + .rodata 0x0000000000309c30 0x14 build-fx/assets/img/bullet.png.o + 0x0000000000309c30 _img_bullet + 0x0000000000309c44 _img_bullet_end + .rodata 0x0000000000309c44 0x28 build-fx/assets/img/carapace_verte.png.o + 0x0000000000309c44 _img_carapace_verte + 0x0000000000309c6c _img_carapace_verte_end + .rodata 0x0000000000309c6c 0x44 build-fx/assets/img/nuage.png.o + 0x0000000000309c6c _img_nuage + 0x0000000000309cb0 _img_nuage_end + .rodata 0x0000000000309cb0 0x64 build-fx/assets/img/koopa_verte.png.o + 0x0000000000309cb0 _img_koopa_verte + 0x0000000000309d14 _img_koopa_verte_end + .rodata 0x0000000000309d14 0x404 build-fx/assets/img/level.png.o + 0x0000000000309d14 _img_level + 0x000000000030a118 _img_level_end + .rodata 0x000000000030a118 0x4c build-fx/assets/img/goomba.png.o + 0x000000000030a118 _img_goomba + 0x000000000030a164 _img_goomba_end + .rodata 0x000000000030a164 0x24 build-fx/assets/img/fleur.png.o + 0x000000000030a164 _img_fleur + 0x000000000030a188 _img_fleur_end + .rodata 0x000000000030a188 0x4c build-fx/assets/img/stone.png.o + 0x000000000030a188 _img_stone + 0x000000000030a1d4 _img_stone_end + .rodata 0x000000000030a1d4 0x404 build-fx/assets/img/lvl0.png.o + 0x000000000030a1d4 _img_lvl0 + 0x000000000030a5d8 _img_lvl0_end .rodata.str1.4 - 0x0000000000309f1c 0x31 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - *fill* 0x0000000000309f4d 0x3 - .rodata 0x0000000000309f50 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x000000000030a5d8 0x31 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + *fill* 0x000000000030a609 0x3 + .rodata 0x000000000030a60c 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) .rodata.str1.4 - 0x0000000000309f58 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - *fill* 0x0000000000309f5e 0x2 + 0x000000000030a614 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + *fill* 0x000000000030a61a 0x2 .rodata.str1.4 - 0x0000000000309f60 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x000000000030a61c 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) 0x11e (size before relaxing) - *fill* 0x000000000030a07a 0x2 - .rodata 0x000000000030a07c 0x18 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + *fill* 0x000000000030a736 0x2 + .rodata 0x000000000030a738 0x18 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) .rodata.str1.4 - 0x000000000030a094 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .rodata 0x000000000030a098 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) - 0x000000000030a098 _gint_font5x7 - 0x000000000030a4a0 _gint_font5x7_end + 0x000000000030a750 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .rodata 0x000000000030a754 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) + 0x000000000030a754 _gint_font5x7 + 0x000000000030ab5c _gint_font5x7_end .rodata.str1.4 - 0x000000000030a4a0 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - *fill* 0x000000000030a4a6 0x2 + 0x000000000030ab5c 0x6 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + *fill* 0x000000000030ab62 0x2 .rodata.str1.4 - 0x000000000030a4a8 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .rodata 0x000000000030a4ac 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .rodata 0x000000000030a4bc 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) - 0x000000000030a4bc ___clz_tab + 0x000000000030ab64 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .rodata 0x000000000030ab68 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .rodata 0x000000000030ab78 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x000000000030ab78 ___clz_tab -.rela.dyn 0x000000000030a5bc 0x0 - .rela.text 0x000000000030a5bc 0x0 build-fx/src/score.c.o +.rela.dyn 0x000000000030ac78 0x0 + .rela.text 0x000000000030ac78 0x0 build-fx/src/score.c.o .rela.text.startup - 0x000000000030a5bc 0x0 build-fx/src/score.c.o + 0x000000000030ac78 0x0 build-fx/src/score.c.o .rela.pretext.entry - 0x000000000030a5bc 0x0 build-fx/src/score.c.o + 0x000000000030ac78 0x0 build-fx/src/score.c.o 0x0000000008100000 . = ORIGIN (ram) .bss 0x0000000008100000 0x5c0 @@ -690,8 +700,8 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *fill* 0x00000000081005bc 0x4 0x00000000000005c0 _sbss = SIZEOF (.bss) -.data 0x00000000081005c0 0x210 load address 0x000000000030a5bc - 0x000000000030a5bc _ldata = LOADADDR (.data) +.data 0x00000000081005c0 0x210 load address 0x000000000030ac78 + 0x000000000030ac78 _ldata = LOADADDR (.data) 0x00000000081005c0 _rdata = . *(.data .data.*) .data 0x00000000081005c0 0x0 build-fx/src/level.c.o @@ -767,28 +777,28 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a *(D) 0x00000000081007d0 . = ALIGN (0x10) -.data.4 0x00000000081007d0 0x0 load address 0x000000000030a7cc +.data.4 0x00000000081007d0 0x0 load address 0x000000000030ae88 *(.data.4) 0x00000000081007d0 . = ALIGN (0x10) 0x0000000000000210 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x0 load address 0x000000000030a7cc - 0x000000000030a7cc _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x0 load address 0x000000000030ae88 + 0x000000000030ae88 _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) 0x00000000e5200000 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x000000000030a7cc - 0x000000000030a7cc _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x000000000030ae88 + 0x000000000030ae88 _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x000000000030a7cc - 0x000000000030a7cc _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x000000000030ae88 + 0x000000000030ae88 _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -798,8 +808,8 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x000000008800df00 _gint_vbr = 0x8800df00 0x000000008800f400 . = ORIGIN (rram) -.gint.data 0x000000008800f400 0x140 load address 0x000000000030a7cc - 0x000000000030a7cc _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008800f400 0x140 load address 0x000000000030ae88 + 0x000000000030ae88 _lgdata = LOADADDR (.gint.data) 0x000000008800f400 _rgdata = . *(.gint.data .gint.data.*) .gint.data 0x000000008800f400 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) @@ -820,7 +830,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x000000008800f540 . = ALIGN (0x10) 0x0000000000000140 _sgdata = SIZEOF (.gint.data) -.gint.bss 0x000000008800f540 0x290 load address 0x000000000030a90c +.gint.bss 0x000000008800f540 0x290 load address 0x000000000030afc8 *(.gint.bss .gint.bss.*) .gint.bss 0x000000008800f540 0x180 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) .gint.bss 0x000000008800f6c0 0x1c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) diff --git a/build-fx/src/bonus.c.o b/build-fx/src/bonus.c.o index 6a17e6a435802d80d893ef9d82a8a1b97dcd1223..7eed611f84c97372394a75e53784d1b557db1da7 100644 GIT binary patch delta 35 qcmZn>YZ04pLLg$A$Ffu)5*c`;Pi30!vM-Bb} delta 35 rcmZn>YZ04pLf|Qj19!^i3$`hnZ`(R>GjMLaQNhT>z_~eyX%hzk?_vx_ diff --git a/build-fx/src/box.c.o b/build-fx/src/box.c.o index 08cbc87c827f245a485bb69d229ca9ce5548eb22..943e5628832baacbcac572485a23a15c8eca74ee 100644 GIT binary patch delta 500 zcmeys{epLb5)*5~L=~m_i!w<<7iH3wodgqw${BkZ3t65sx(oC(n+QB$VBlup>{Lk> zN^&w*?_>!RGP5yC?&o~K80KV@W31fE@_->s$T-JXok255Fxb(^9H>UvOvf0gMu8*D z**M3@xRW(Z7_632fusBS`b&j644e#5px>rHO`ms}{x*OJ;~KPS0bAPtHh9&W=yc&&kOw&ddi2q~_(N=4KYhr|0BLBqip= z7iU(bqKEh@PNS(Zc RRY{E11<14lVi*A12mow)Xr=%F delta 237 zcmaFC`+<9c5)(_uL=`0={Wkq+`pfjU=^xX-mg}tl?6&H}OSznXGMIy|247onb+QMe zEF;84(-b832ZS1?FF^6h_N?_xOg|05bI_Z(vgrWAOnpt$-K?z%~K^29PcK diff --git a/build-fx/src/ennemi.c.o b/build-fx/src/ennemi.c.o index 0fd60fec4fa2ca033a4524f6c4b324d611821238..501a6aa6b98e0b7fa9a48667530c2f62ed8b4bdb 100644 GIT binary patch literal 3392 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 L!2bJ-xlr_fe3B~+ diff --git a/build-fx/src/keyboard.c.o b/build-fx/src/keyboard.c.o index f63459924a6b58192140572b70121bac62c8f760..76eea8f98e9221e627498759ab1a536299cd3ccc 100644 GIT binary patch delta 688 zcmXw#PiPZC6o-G4)pV0hO}DXPwYIyP))WL6YXcQ5CV@g@iuIu2p@*c65=|>DM)07l zkWf-0Z0e@cQ!fD#FF6FfSVS*gyttM|3m&A65_9tpOAmt1#>^Z(KIXl7@5j9MzV{aW zS_lA#QA%JKZn)HC^@;jaeWAWpYwEYpSEiNqjVVFfpXH>yKBlagm%sepSZgBHy=tVh zvCiS%NjX(G)tksJNilgqOusavbJaT`bwpM~SyV*7I4BNH32;dbz3=Leok%Sd6_P)% zmnZl{RtwH7DZyvSYOt?19u+bXb39C2>zF!a|*^?7?L}t-P7#cE+MYy+`8pSiD@i z7PSZRD`Jie887aHckr{k?C{kx>r{}r;bJ7S)Y71Kw9!6sbW$0ljW?V~oEh?g~f z`s8hE!J4D&ja1mFWJe+Bf!TBMc{DT9drQ; z=b#H%AO~H*vmUzO2=km#KUg4nW6|j+gGR|2Ae+W!i}e;g9RX4|Mk)7=8OoHA>j?Dx Np%Ef>j`nFy`vXV5>3TogdUU> zA|)l_RyY0u!IO9ra!@=g0V(LgwKj^qNUahf7d0&2bau(i;qhbMeBXP_d*3VHN+5p( z0EZA&pdVg%v?cAn_EdYRz0qpgk1z2F_2GkYA^&%VlZ*PGx@?~Q+I)Pwfwce5txRF8 zqrZ1lNtX`wCJXcOn6h8YJTgaSjjJcL0Yw!RQ56GXpLk$gfJd(D()nK-$7{neA@%!0 zb%akA^5Lm@HN2WK!cuK0Cgh^#P=r1;2k%Wsge|V}4IX>6@_L5b2*rf09+}rqC937K zF?%7uj0WiKHHQeL9Q8wUTshkEtM>HW;UuU0JSyvaa_vK3gr99sbdkfyI`tPfrrA&> zu~zh!>gK-Bdz=E&CaFo^p{Sb!=3YfLMOp`@-}csbkJ4)EyKHSBQO)xc2QOQ5R@S;? zU9>V5gtW!M_m8V%>G=xzLrBrM$-Si--}WgV2Ry|2Zjf_;m+>SZFrEV187F`a#wlP2 z<22x7oCP`=Ujf{VbAZTr0q|2kV@H$gKo>I>f$kQ&XaFncq5-Usiw5xQ4Gq}IIA=7s wm&k&#=njx>Z3D@=YMs608FRdBM0kjUf+mXgUC ztOApB*aSAeVPRpMJVR_ZW5DDKVrpzm6Brm6z)U7)j>!wew3wJhfRwr*69WTt1W--@ zh&h0mXR?8~924^dh?+S-N_F!>aYa@pIhn~vWU81Xc_ur^DlthbOiqziW0E$R+ykU! WMJ8{NRTGn+12n)1h+%*c!~g(^KRZ4E delta 143 zcmez1^uc<95|d2AMio~^#?;AKjEanGlY1CtI7E9GIYe3*I46JP*JBcC+5CWUw=gTi z0tN=g$%@PxlQ%H&PrfdCaI%f$ZbpyE3nbOpm?khVFnDZ|c4B3cnlsr&p^8bgXYv6B nB_{C&lb3u#Ce?1fXVb)VYA;$&-p@xD6hlT=&rf6tzXmDt=p`ocC+=d3B zhK8Vq!Uo3%hlUoNgjy5=iT;4b&a-!T@4z|t!}p$dzW2P}%s6wA6NAgVwc;Pe;<=HC z7e?r52w7PK;Y2?$G|a>hW~#4e&7QtzW{c-yB&a8Z;PY9_r+tZb$^YOJX*CEeSta_g zWCDWD4NAYAaX`|!Ls?UKqiMYp)t#;n;z`8*k8eOLx4TBb*USTkJ;;tC5M-`;^evCR z4TPK?aqISoI~vLQJrHJo1R~5&K$Q6fh!Hn!U(o^LeDMmH%w5-5ya5SE*Oq~#!;+XE zB+Kp`Spibqvj$8vue&qlCi&0sg=b?)8}l}jHlF34n#Xt-m}7n4-Ao<;Y1ZrRpOA;Z zJnIc0Ghup}JOUQ@;sjV^z5*V2PbiG5bNO3L8$T^ z1s4ZF2gME!4h|hUT5u3_%2dQZpl)7cj^yC(efYjFckhx;zMDU{MdxD5T9t0vwAao3 zU(<4h>9}ZXh+75t(e5v0Yoe~Z26?*VF-+Tq>9nO)Xv>{UVY)6{LH_vT@l`}a-&0P% zi-<|pip^Ma)MP#b2s&3N^x*d5cYP9jk^Vov0j>DdFk+GFG+^`^ z^yaS2Q^-vE}+QDPnzy$yy%@6}=AS~S&g(iSbX lkaR>>Rj8h;Gpa?^@ah-UveHwI_))VdXNWprk&?rk@&_J|O(XyS diff --git a/build-fx/src/world.c.o b/build-fx/src/world.c.o index a26327fc05f8c15bba90b69aff7b9ec4234d178a..3ee8929ade3a9120f5575f5bd7a26ddc520ba9ed 100644 GIT binary patch delta 20 ccmX>gaX?~&DGTF+$!09-j4w9Fu{>f208ZiuRsaA1 delta 20 ccmX>gaX?~&DGTGN$!09-j1M-)u{>f208Od~H~;_u diff --git a/src/bonus.c b/src/bonus.c index 07d3b59..f3629ce 100644 --- a/src/bonus.c +++ b/src/bonus.c @@ -57,7 +57,7 @@ void bullet_display() if (bullets[i].type==BULLET) { box_jump(&bullets[i].b,4); - box_move(&bullets[i].b); + box_move(&bullets[i].b,0); draw_tile(bullets[i].b.x-world_get_real_x0(), bullets[i].b.y-world_get_real_y0(), &bullet, (1+sgn(bullets[i].b.vy))/2, 0); if (bullets[i].b.vx==0) bullets[i].type=0; @@ -111,7 +111,7 @@ void bonus_move() //+collision { box_jump(&bonus.b,5); } - box_move(&bonus.b); + box_move(&bonus.b,0); if (bonus.type==BONUS_CHAMPI || bonus.type==BONUS_1UP || bonus.type==BONUS_STAR) { diff --git a/src/box.c b/src/box.c index 740826e..12ffa2d 100755 --- a/src/box.c +++ b/src/box.c @@ -11,6 +11,25 @@ int sgn(int x) return -1; } + +int check_collision(box_t *b) +{ + for (int i=0; ix<=b->x && b->xx+t->w) || (t->x<=b->x+b->w-1 && b->x+b->wx+t->w); + int y_collide= (t->y<=b->y && b->yy+t->h) || (t->y<=b->y+b->h-1 && b->y+b->hy+t->h); + if (x_collide&&y_collide) + return 1; + } + } + return 0; +} + + + static void move_x(box_t * b) { int sgn_vx=sgn(b->vx); @@ -109,7 +128,7 @@ static void move_y(box_t * b) } -int box_move(box_t * b) +int box_move(box_t * b, int c) { //velx move_x(b); diff --git a/src/box.h b/src/box.h index 2f97fde..e31e7c2 100755 --- a/src/box.h +++ b/src/box.h @@ -16,7 +16,7 @@ typedef struct //int is_mario; } box_t; -int box_move(box_t * b); +int box_move(box_t * b, int collide); int box_jump(box_t * b, int height); // hauteur du saut #endif \ No newline at end of file diff --git a/src/ennemi.c b/src/ennemi.c index 503b2f5..8cf14fe 100644 --- a/src/ennemi.c +++ b/src/ennemi.c @@ -19,18 +19,32 @@ void display_ennemi(ennemi_t * e) if (e->type==GOOMBA) { extern image_t img_goomba; - tileset_t goomba={&img_goomba, 8, 8, 1}; + tileset_t goomba={&img_goomba, GOOMBA_X, GOOMBA_Y, 1}; if (e->life==1) draw_tile(e->b.x-world_get_real_x0(0), e->b.y-world_get_real_y0(mario.p.y), &goomba, 1+(time_id/10)%2, 0); if (e->life==0) draw_tile(e->b.x-world_get_real_x0(0), e->b.y-world_get_real_y0(mario.p.y), &goomba, 0, 0); } + if (e->type==KOOPA_VERTE) + { + extern image_t img_koopa_verte; + tileset_t koopa_verte={&img_koopa_verte, KOOPA_X, KOOPA_Y, 1}; + if (e->life==1) + draw_tile(e->b.x-world_get_real_x0(0), e->b.y-world_get_real_y0(mario.p.y), &koopa_verte, (1+e->p1)+(time_id/8)%2, 0); + } + if (e->type==CARAPACE_VERTE) + { + extern image_t img_carapace_verte; + tileset_t carapace_verte={&img_carapace_verte, CARAPACE_X, CARAPACE_Y, 1}; + draw_tile(e->b.x-world_get_real_x0(0), e->b.y-world_get_real_y0(mario.p.y), &carapace_verte, 0, 0); + } + } bool ennemi_check_collision(ennemi_t *e) { - bool x_collide= (mario.p.x<=e->b.x && e->b.xb.x+e->b.w-1 && e->b.x+e->b.wb.y && e->b.yb.y+e->b.h-1 && e->b.y+e->b.hb.x && e->b.xb.x+e->b.w-1 && e->b.x+e->b.wb.y && e->b.yb.y+e->b.h-1 && e->b.y+e->b.hb.x-e->b.w>world_get_real_x0() && e->b.xb.x-e->b.w>world_get_real_x0() && e->b.xdiscovered=1; if (e->b.x+e->b.w<=world_get_real_x0()) e->type=NONE; @@ -72,15 +86,33 @@ void move_ennemi(ennemi_t *e) bool y_collide= (t->b.y<=e->b.y+e->b.vy && e->b.y+e->b.vyb.y+t->b.h) || (t->b.y<=e->b.y+e->b.h-1+e->b.vy && e->b.y+e->b.h+e->b.vyb.y+t->b.h); if (x_collide&&y_collide) { - e->b.vx=0; - e->b.vy=0; + if (e->type!=CARAPACE_VERTE && e->type!=CARAPACE_ROUGE) + { + e->b.vx=0; + e->b.vy=0; + } + else + { + if (t->type==CARAPACE_VERTE || t->type==CARAPACE_ROUGE) + { + e->p1*=-1; + e->b.vx=3*e->p1; + } + else + { + e->life=DEAD; + e->p1=time_id; + score_add(200); + } + + } } int sol=0; for (int j=0; jb.h; j++) { gift_t * c=world_get(e->b.x+j ,e->b.y-1); - if ((c->type==GIFT || c->type==BRICK) && c->time_hit_id) + if ((c->type==GIFT || c->type==BRICK) && (c->time_hit_id || c->state)) { e->life=DEAD; e->p1=time_id; @@ -99,7 +131,7 @@ void move_ennemi(ennemi_t *e) if (time_id%2) e->b.vx=0; - box_move(&e->b); + box_move(&e->b,1); if (time_id%2) e->b.vx=old_vx; @@ -125,8 +157,9 @@ void move_ennemi(ennemi_t *e) { e->life=DEAD; e->p1=time_id; - score_add(100); + score_add(200); mario.p.vy=4; + mario.p.y=e->b.y+CARAPACE_X; } else hurt_mario(); @@ -138,6 +171,93 @@ void move_ennemi(ennemi_t *e) e->life=DEAD; } } + + if (e->type==KOOPA_VERTE) + { + if (e->life==1) + { + int old_vx=e->b.vx; + if (time_id%2) + e->b.vx=0; + + box_move(&e->b,1); + + if (time_id%2) + e->b.vx=old_vx; + + if (e->b.vx==0) + { + if (e->p1==0) + { + e->b.vx=-1; + e->p1=-1; + } + else + { + e->p1*=-1; + e->b.vx=e->p1; + } + } + if (e->b.y<0) + e->type=NONE; + if (ennemi_check_collision(e)) + { + if (mario.p.vy<=-2) + { + e->type=CARAPACE_VERTE; + e->b.h=CARAPACE_Y; + e->p1=0; + e->b.vx=0; + score_add(200); + mario.p.vy=4; + mario.p.y=e->b.y+CARAPACE_Y+1; + } + else + hurt_mario(); + } + } + else + e->life=DEAD; + } + if (e->type==CARAPACE_VERTE) + { + if (e->life==1) + { + box_move(&e->b,0); + + if (e->b.vx==0) + { + e->p1*=-1; + e->b.vx=e->p1; + } + if (e->b.y<0) + e->type=NONE; + + if (ennemi_check_collision(e)) + { + if (e->p1==0) + { + if (mario.p.x>=e->b.x) + e->p1=-1; + if (mario.p.vy<=e->b.x) + e->p1=1; + e->b.vx=3*e->p1; + } + else + { + if (mario.p.vy<=-2) + { + e->p1=0; + e->b.vx=0; + mario.p.vy=4; + mario.p.y=e->b.y+CARAPACE_Y+1; + } + else + hurt_mario(); + } + } + } + } display_ennemi(e); } diff --git a/src/ennemi.h b/src/ennemi.h index 0d9e2c9..e2d6a4a 100644 --- a/src/ennemi.h +++ b/src/ennemi.h @@ -3,14 +3,31 @@ #include "box.h" -#define NONE 0 -#define GOOMBA 1 +#define NONE 0 +#define GOOMBA 1 +#define KOOPA_VERTE 2 +#define CARAPACE_VERTE 3 +#define KOOPA_ROUGE 4 +#define CARAPACE_ROUGE 5 + #define DEAD -1 #define STATE1 0 #define STATE2 1 #define STATE3 2 +// Dimensions pr les boites + +#define GOOMBA_X 8 +#define GOOMBA_Y 8 + +#define KOOPA_X 8 +#define KOOPA_Y 12 + +#define CARAPACE_X 8 +#define CARAPACE_Y 9 + + typedef struct { int type; diff --git a/src/keyboard.c b/src/keyboard.c index 5b9da3a..025b8b9 100755 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -39,6 +39,8 @@ int menu_pause() // 1 exit, 0 continue choice=1; if (keydown(KEY_EXIT)) return 0; + if (keydown(KEY_MENU)) + return 1; if (keydown(KEY_F1)) { e=pollevent(); diff --git a/src/level.c b/src/level.c index 378b40f..3627c96 100644 --- a/src/level.c +++ b/src/level.c @@ -154,31 +154,49 @@ void set_level(int n) {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0x15}, {0,0}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, - {EARTH,0x11}, {EARTH,0x00}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x01}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {0,0}, {COLLINE,0x11}, {COLLINE,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {0,0}, {0,0}, {BRICK,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {BRICK,0x41}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x01}, {NUAGE,0x00}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x11}, {NUAGE,0x10}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {0,0}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {0,0}, {NUAGE,0x21}, {NUAGE,0x20}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x00}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {GIFT,0x21}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {BUISSON,0x20}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x01}, {0,0}, {0,0}, {GIFT,0x11}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x11}, {COLLINE,0x10}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, + {EARTH,0x11}, {EARTH,0x10}, {COLLINE,0x21}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, {0,0}, }; lvl=&level_0; extern image_t img_lvl0; w_fond=&img_lvl0; - w_current_x=101; + w_current_x=114; w_current_y=13; mario_x_max=0; mario.p.x=25; mario.p.y=16; init_level(lvl); - ennemis_global_size=6; + ennemis_global_size=10; ennemi_t ennemies0[]= { - {GOOMBA,{176,16,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{321,16,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{409,16,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{421,16,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{640,72,8,8,-1,0,1},-1,0,1}, - {GOOMBA,{656,72,8,8,-1,0,1},-1,0,1} + {GOOMBA,{176,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{321,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{409,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{421,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{640,80,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{656,80,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{776,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{788,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {KOOPA_VERTE,{856,16,KOOPA_X,KOOPA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{912,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1}, + {GOOMBA,{924,16,GOOMBA_X,GOOMBA_Y,-1,0,1},-1,0,1} }; init_ennemies(ennemies0); diff --git a/src/mario.c b/src/mario.c index ca88fe9..7671b08 100755 --- a/src/mario.c +++ b/src/mario.c @@ -45,15 +45,12 @@ int mario_immunity=0; void mario_bigger() { mario.p.h=16; - mario.p.y-=7; mario.size=M_BIG; mario_has_bullets=0; } void mario_smaller() { - if (mario.size==M_BIG) - mario.p.y-=8; mario.p.h=8; mario.size=M_SMALL; mario_has_bullets=0; @@ -195,7 +192,7 @@ void mario_move() if (mario.p.x+mario.p.vx + gravity + box_move(&mario.p,1); // <-> + gravity if (mario.p.y<0) mario_dead=1; diff --git a/src/world.c b/src/world.c index ccc28a7..211c256 100755 --- a/src/world.c +++ b/src/world.c @@ -13,7 +13,7 @@ int w_mario_starty=0; int world_get_width() { - return w_current_x*8; + return w_current_x*8; } world_t death={0,0}; @@ -22,7 +22,7 @@ world_t* world_get(int x, int y) { x/=8; y/=8; - if (0<=x && xtype==TUYAU) { - tuyau_t* i=(tuyau_t*)cell; + tuyau_t* i=(tuyau_t*)cell; draw_tile(sx, sy, &tuyau, i->x, i->y); } if (cell->type==EARTH) { - earth_t* i=(earth_t*)cell; + earth_t* i=(earth_t*)cell; draw_tile(sx, sy, &earth, i->x, i->y); } if (cell->type==BLOC) { - draw_tile(sx, sy, &bloc, 0, 0); + draw_tile(sx, sy, &bloc, 0, 0); } if (cell->type==BRICK) { - brick_t* i=(brick_t*)cell; + brick_t* i=(brick_t*)cell; if (i->time_hit_id) { i->time_hit_id++; @@ -73,9 +73,9 @@ void display_cell(int cx, int cy, int sx, int sy, int plan) else draw_tile(sx, sy, &gift, 1, 0); if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) - draw_tile(sx, sy+8, &coin, 0, 0); + draw_tile(sx, sy+8, &coin, 0, 0); } - } + } if (cell->type==GIFT) { @@ -94,7 +94,7 @@ void display_cell(int cx, int cy, int sx, int sy, int plan) else draw_tile(sx, sy, &gift, 1, 0); if (i->content==1 && i->time_hit_id && i->time_hit_id<=4) - draw_tile(sx, sy+8, &coin, 0, 0); + draw_tile(sx, sy+8, &coin, 0, 0); } } } @@ -103,7 +103,7 @@ void display_cell(int cx, int cy, int sx, int sy, int plan) if (cell->type==COIN) { coin_t* i=cell; - draw_tile(sx, sy, &coin, i->taken, 0); + draw_tile(sx, sy, &coin, i->taken, 0); } if (cell->type==BUISSON || cell->type==NUAGE || cell->type==COLLINE) @@ -122,11 +122,11 @@ void display_cell(int cx, int cy, int sx, int sy, int plan) int world_get_ctg(int x, int y) { world_t *c=world_get(x,y); - if (c==0) + if (c==0) { return CTG_DEATH; } - switch (c->type) + switch (c->type) { case TUYAU: case GIFT: @@ -140,21 +140,22 @@ int world_get_ctg(int x, int y) static int max(const int x, const int y) { - return (xy?y:x); + return (x>y?y:x); } int world_get_real_x0() //mario delta en 0,0 -{ if (mario.p.x>mario_x_max) +{ if (mario.p.x>mario_x_max) mario_x_max=mario.p.x; - return min(max(mario_x_max-54,0),w_current_x*8-128);} + return min(max(mario_x_max-32,0),w_current_x*8-128); +} int world_get_real_y0() //mario delta en 0,0 -{return /*min(*/max(mario.p.y-32,0)/*,w_current_y*8-64)*/;} +{return /*min(*/max(mario.p.y-24,0)/*,w_current_y*8-64)*/;} @@ -168,12 +169,12 @@ void world_draw(int x, int y) for (int i=0; i<=17; i++) { int my=my0; - for (int j=0; j<=9; j++) + for (int j=0; j<=9; j++) { display_cell(mx, my, 8*i-sx0, 8*j-sy0,0); //ap my+=8; } - mx+=8; + mx+=8; } bonus_draw(); @@ -188,7 +189,7 @@ void world_draw(int x, int y) for (int i=0; i<=17; i++) { int my=my0; - for (int j=0; j<=9; j++) + for (int j=0; j<=9; j++) { display_cell(mx, my, 8*i-sx0, 8*j-sy0,1); //pp my+=8;