From 823c28050e593285b5e2d162226ae561ecfd5f9d Mon Sep 17 00:00:00 2001 From: Milang Date: Wed, 15 Jan 2020 20:42:51 +0100 Subject: [PATCH] add global time management, update font and add dynamic infos about levels --- SuperCbr.g1a | Bin 69688 -> 70152 bytes assets-fx/fonts/mario.png | Bin 12709 -> 12770 bytes assets-fx/img/levelchanger.png | Bin 1479 -> 11230 bytes build-fx/SuperCbr.bin | Bin 69176 -> 69640 bytes build-fx/SuperCbr.elf | Bin 87232 -> 87848 bytes build-fx/assets/fonts/mario.png.o | Bin 932 -> 932 bytes build-fx/assets/img/levelchanger.png.o | Bin 1460 -> 1460 bytes build-fx/map | 1220 ++++++++++++------------ build-fx/src/box.c.d | 4 +- build-fx/src/box.c.o | Bin 1992 -> 2144 bytes build-fx/src/levelchanger.c.o | Bin 3596 -> 4048 bytes build-fx/src/mario.c.o | Bin 4056 -> 4104 bytes build-fx/src/save.c.o | Bin 1296 -> 1376 bytes build-fx/src/score.c.o | Bin 2308 -> 2432 bytes build-fx/src/world.c.o | Bin 4312 -> 4312 bytes include/save.h | 4 +- include/score.h | 2 + include/world.h | 3 +- src/box.c | 24 +- src/levelchanger.c | 41 +- src/mario.c | 11 +- src/save.c | 18 +- src/score.c | 12 +- 23 files changed, 710 insertions(+), 629 deletions(-) diff --git a/SuperCbr.g1a b/SuperCbr.g1a index b83a8a5f8fb443e84c7edadc35ec14d6ca9251f4..18a9f821219d552fe3a099b0eda5ae2b3c028e8a 100644 GIT binary patch delta 7040 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 LycF$6DXIShBNa}^ delta 6420 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 EKNQc41ONa4 diff --git a/assets-fx/fonts/mario.png b/assets-fx/fonts/mario.png index 1e11b2bfcb4ccf51d629aa94acc2341a8439be54..be082aa93a988639491209e649a68d0328f672eb 100644 GIT binary patch literal 12770 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 diff --git a/assets-fx/img/levelchanger.png b/assets-fx/img/levelchanger.png index a67dee52d3a1e37573edf2472c532de24340a383..39cef423590e222d33f5a740a0f87f45daa23b4a 100644 GIT binary patch literal 11230 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 IM6N<$f=1m3>Hq)$ delta 1399 zcmV--1&I3ISH}yGBYy#fX+uL$Nkc;*aB^>EX>4Tx04R}tkv&MmP!xqvTcx5cB32M_ z$WWauh>AFB6^c+H)C#RSn7s54nlvOSE{=k0!NH%!s)LKOt`4q(Aov5~9J z6k5c1;qgAsyXWxUeSp7SW~$jS4yc-Cq!Mu=ds6Gw=JLL19%%!-CeJVhK;RE_fe8J88#Tb$K$l{N3lUl_`1E6ZG`HH-unu>=tU zWK>Z?85Ux+Yk#DeNYQ!R!$0KsMRLjHDuIz>0Trl_96$IU{GP3upPX=$LUEw;#kN02 zfZ#6BsM+@Sv28a_fWR|wrM3K(IxzD|dab2JkAU87;NrTa$$P-%4lwwnONQh~0b2fi z9(X^aZ^{Dww?OxrJGbUJP9K0Y%_?~V92^3p1wlwwo|7)yVC#76 z_&gh57*67^qZ=aO!y`Y5(4An5Ru@y(?1r^T*dGqU7%TQK%>m%2Cl3TH7mO zfLXwgS=$c-Y?h=mZ@Z6ytXDo0bC^u{vHJ~h@GkTk&Pgs2M<9*ioW)#p0n;Qj-X4`4 zUBIGNtXA__tR({bgw2w15#2S_S7I&^oA%@sB(ecEGwJ*tYkyw0YvLSL4?bDrY8w!9 zPJRn4ga9K_WYI52hXfIONlegSGz_qmA4CMKbN|v#2W<=@2=pk31~Xm$H9QKN)8&(v z8_0-bTSme;IRJ0<3hBd5r3iqa+EN5|RQ+q0Erav4t#%7$Blvk;Pv(Q1gKYTF8A%)g z7{(vgB!+Cul7DJl05n#KQt(Iq9DxC_26J5QOG3A2n{HEn_}7$7*murXKYtWuqylN#m9RPPh<;bmZ9`MO zWx2qYhlL$Q)n$?ryV-+CBVJAU-~octi?JRB_V$3GW9PMWT9^?N2C&8l6L(-`CFi>$ z6xILj`=^ne7>R$q`l%7@GdCe0qeNBxiG0rOCwRMN2efq@we^#i=mxl`!jNX8L2Q%o3pqmbxyQXcR- z;B7Nx!86B^n4xvUpW)+Ze3u! zTHy&pjlY(rEl5U}e?Dd)Qc%d$AQ-$iG-OffA~e2N{s5{6t-Lrjo(up0002ovPDHLk FV1jxBrRM+u diff --git a/build-fx/SuperCbr.bin b/build-fx/SuperCbr.bin index 1c07820862fea94091e4fa06ee113f1f7280628d..2f94efe0b5d24bcef63d52f3c9b6834d7e81f102 100755 GIT binary patch delta 7004 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 Z{#-$+X-Oql``%IpALzUoHIGtK{|{aCIx+wN delta 6384 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 EKVeA9O8@`> delta 14677 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 diff --git a/build-fx/assets/fonts/mario.png.o b/build-fx/assets/fonts/mario.png.o index 23182dfc5bcd5cc333220d252c01f3efe9a3cfcb..a1575cf2fa449ce22fb20008644ddb33a0993fd0 100644 GIT binary patch delta 69 zcmZ3&zJz^31~)4lFik9O)v8IBXHeGgZ}?Ep-|!($zM-W~prOW2zM;lmzTtx(kXCg8V7@h*z-+}aZ NAU}X%vl3$y698`Z6O#Y{ diff --git a/build-fx/assets/img/levelchanger.png.o b/build-fx/assets/img/levelchanger.png.o index 36addfa2b9c6f300d0f3110de12a6e73bc4c5529..e55c1741e454801068fc0317979039fec1823aa4 100644 GIT binary patch delta 79 zcmdnOy@h+jWM(G@7X}6n8AicS5e5ioVPLReW|R;8egMp8WMN=9z|bfV%HROzGqEr* VGDtMahq5<-`7A7(uQK0f1ON diff --git a/build-fx/map b/build-fx/map index 4dbc44c..617ad8a 100644 --- a/build-fx/map +++ b/build-fx/map @@ -85,7 +85,6 @@ Allocating common symbols Common symbol size file frame_id 0x4 build-fx/src/levelchanger.c.o -level_best_times 0xb4 build-fx/src/save.c.o Discarded input sections @@ -235,7 +234,7 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-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 - 0x00000000000104c0 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x0000000000010690 _srom = ((((0x200 + SIZEOF (.text)) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) .pretext 0x0000000000300200 0x8d0 *(.pretext.entry) @@ -275,7 +274,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 0x8318 +.text 0x0000000000300ad0 0x84d8 0x0000000000300ad0 _gint_exch_tlbh_start = . *(.gint.exch_tlbh) .gint.exch_tlbh @@ -283,493 +282,495 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000000300ad0 _gint_exch_tlbh 0x000000000000004c _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start)) *(.text .text.*) - .text 0x0000000000300b1c 0x480 build-fx/src/levelchanger.c.o + .text 0x0000000000300b1c 0x550 build-fx/src/levelchanger.c.o 0x0000000000300b1c _callback 0x0000000000300b24 _play_level - 0x0000000000300d08 _launch_ui - .text 0x0000000000300f9c 0x1ffc build-fx/src/level.c.o - 0x0000000000300f9c _malloc_error - 0x0000000000300fd4 _init_level - 0x0000000000301058 _init_ennemies - 0x00000000003010c8 _set_level - 0x0000000000302f78 _get_lvl_id - .text 0x0000000000302f98 0xd8 build-fx/src/config.c.o - 0x0000000000302f98 _configmenu - .text 0x0000000000303070 0x228 build-fx/src/score.c.o - 0x0000000000303070 _new_level - 0x0000000000303090 _new_game - 0x00000000003030d4 _get_score - 0x00000000003030e0 _score_reset - 0x0000000000303100 _score_add_coin - 0x0000000000303110 _score_add - 0x0000000000303160 _score_display - .text 0x0000000000303298 0x40 build-fx/src/tile.c.o - 0x0000000000303298 _draw_tile - .text 0x00000000003032d8 0x318 build-fx/src/plateforme.c.o - 0x00000000003032d8 _reset_plateforme - 0x00000000003032e6 _move_plateforme - 0x00000000003034a4 _display_plateformes - 0x0000000000303544 _move_plateformes - 0x000000000030359c _plateforme_check_collide - .text 0x00000000003035f0 0x42c build-fx/src/box.c.o - 0x00000000003035f0 _sgn - 0x0000000000303602 _check_collision - 0x0000000000303694 _box_move - 0x00000000003039b8 _box_jump - .text 0x0000000000303a1c 0x61c build-fx/src/world.c.o - 0x0000000000303a1c _world_get_width - 0x0000000000303a2c _world_get - 0x0000000000303a90 _display_cell - 0x0000000000303d9c _world_get_ctg - 0x0000000000303df0 _reset_camera - 0x0000000000303e0c _world_get_real_x0 - 0x0000000000303e34 _reload_camera - 0x0000000000303e5c _world_get_real_y0 - 0x0000000000303e70 _world_draw - 0x0000000000303f8c _world_move - .text 0x0000000000304038 0x56c build-fx/src/bonus.c.o - 0x0000000000304038 _bonus_set - 0x0000000000304068 _bonus_move - 0x000000000030421c _bonus_draw - 0x0000000000304330 _lance_bullet - 0x000000000030438c _bullet_display - 0x0000000000304424 _bullet_move - .text 0x00000000003045a4 0x154 build-fx/src/save.c.o - 0x00000000003045a4 _load_save - 0x00000000003045a8 _flash_save - 0x00000000003045ac _get_highscore - 0x00000000003045fc _set_highscore - 0x000000000030464c _get_best_time - 0x000000000030469c _set_best_time - 0x00000000003046ec _get_progress_status - .text 0x00000000003046f8 0x7a0 build-fx/src/mario.c.o - 0x0000000000304708 _mario_bigger - 0x0000000000304724 _mario_smaller - 0x0000000000304750 _mario_draw - 0x000000000030490c _test_sol_le_plus_proche - 0x0000000000304978 _mario_move - .text 0x0000000000304e98 0x0 build-fx/src/main.c.o - .text.startup 0x0000000000304e98 0x24 build-fx/src/main.c.o - 0x0000000000304e98 _main - .text 0x0000000000304ebc 0x2c0 build-fx/src/keyboard.c.o - 0x0000000000304ebc _keyboard_clear - 0x0000000000304edc _getkey_custom - 0x0000000000304f2c _menu_pause - 0x0000000000305084 _update_keyboard - .text 0x000000000030517c 0x7b0 build-fx/src/ennemi.c.o - 0x000000000030517c _display_ennemi - 0x00000000003053c4 _ennemi_check_collision - 0x0000000000305428 _hurt_mario - 0x000000000030545c _move_ennemi - 0x00000000003058ec _display_ennemi_table - .text 0x000000000030592c 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x0000000000306328 _kprint_opt - 0x0000000000306470 _kprint - 0x0000000000306548 _kvsprint - 0x0000000000306590 _sprintf - 0x00000000003065b8 _vsprintf - 0x00000000003065d8 _snprintf - 0x00000000003065f8 _vsnprintf - .text 0x0000000000306610 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - 0x0000000000306610 _memcpy - 0x00000000003066ca __memmove - 0x00000000003066ce __memcmp - 0x00000000003066d2 _memset - .text 0x00000000003066ec 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 0x00000000003066ec 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 0x00000000003066ec 0x11c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) - 0x00000000003066ec _drect - .text 0x0000000000306808 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - 0x0000000000306808 _dupdate - 0x0000000000306820 _dupdate_noint - .text 0x000000000030682c 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - 0x000000000030682c _masks - .text 0x00000000003068c8 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - 0x00000000003068c8 _dimage - 0x000000000030691c _dsubimage - .text 0x0000000000306990 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - 0x0000000000306990 _dclear - .text 0x00000000003069dc 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000306b84 _pollevent - 0x0000000000306cc8 _waitevent - 0x0000000000306d14 _clearevents - 0x0000000000306d34 _keydown - 0x0000000000306d60 _keydown_all - 0x0000000000306d9c _keydown_any - .text 0x0000000000306dd8 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - 0x0000000000306de4 _iokbd_row - 0x0000000000306ecc _iokbd_scan - .text 0x0000000000306efc 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - 0x0000000000306efc _getkey_opt - 0x00000000003070a8 _getkey - 0x00000000003070b4 _getkey_repeat - .text 0x00000000003070f0 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 0x00000000003070f0 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - 0x0000000000307280 _gint_panic - 0x0000000000307290 _gint_panic_set - 0x000000000030729c _gint_exc_catch - 0x00000000003072a8 _gint_exc_skip - .text 0x00000000003072b4 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 0x00000000003072b4 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - 0x0000000000307368 _gint_install - 0x0000000000307418 _gint_unload - .text 0x0000000000307430 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 0x0000000000307430 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 0x0000000000307430 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - 0x0000000000307430 _tlb_addr - 0x0000000000307444 _tlb_data - 0x0000000000307458 _tlb_mapped_memory - 0x000000000030752c _utlb_addr - 0x000000000030753c _utlb_data - 0x000000000030754c _utlb_mapped_memory - .text 0x0000000000307624 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x0000000000307624 _dsize - .text 0x00000000003076c0 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - 0x00000000003076c0 _dprint - .text 0x0000000000307718 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x0000000000307a38 _timer_setup - 0x0000000000307ac8 _timer_delay - 0x0000000000307b28 _timer_start - 0x0000000000307b5c _timer_reload - 0x0000000000307b7c _timer_pause - 0x0000000000307bb0 _timer_stop - 0x0000000000307c0c _timer_timeout - 0x0000000000307c18 _timer_address - 0x0000000000307c54 _timer_clear - .text 0x0000000000307c84 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - 0x0000000000307c84 _sleep_us - .text 0x0000000000307cdc 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x0000000000307d74 _t6k11_display - 0x0000000000307e48 _t6k11_contrast - 0x0000000000307e74 _t6k11_backlight - .text 0x0000000000307eb4 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000307ff8 _clock_freq - .text 0x0000000000308004 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 0x0000000000308004 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) - 0x0000000000308004 _bopti_asm_mono - 0x000000000030802a _bopti_asm_mono_alpha - .text 0x000000000030805c 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - 0x000000000030805c _bopti_grid - 0x00000000003081d0 _bopti_render - 0x0000000000308300 _bopti_render_clip - 0x0000000000308414 _bopti_render_noclip - .text 0x000000000030846c 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - 0x000000000030846c _gint_setvbr - .text 0x0000000000308498 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - 0x0000000000308498 _gint_intlevel - 0x00000000003084ec _gint_inthandler - .text 0x0000000000308510 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 0x0000000000308510 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 0x0000000000308510 0x36c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - 0x00000000003085f0 _ll_set_size - 0x0000000000308604 _ll_set_state - 0x0000000000308624 _ll_get_state - 0x0000000000308634 _ll_clear - 0x0000000000308680 _ll_send - 0x00000000003086f4 _ll_sendp - 0x0000000000308740 _ll_display_custom - 0x00000000003087ac _ll_display - 0x00000000003087c0 _ll_pause - 0x0000000000308818 _ll_panic - 0x0000000000308854 _ll_set_panic - 0x0000000000308864 _ll_set_level - 0x0000000000308870 _ll_get_level - .text 0x000000000030887c 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - 0x000000000030887c ___movstr - 0x000000000030887c ___movmem - 0x00000000003088b0 ___movmemSI64 - 0x00000000003088b0 ___movstrSI64 - 0x00000000003088b4 ___movstrSI60 - 0x00000000003088b4 ___movmemSI60 - 0x00000000003088b8 ___movmemSI56 - 0x00000000003088b8 ___movstrSI56 - 0x00000000003088bc ___movstrSI52 - 0x00000000003088bc ___movmemSI52 - 0x00000000003088c0 ___movstrSI48 - 0x00000000003088c0 ___movmemSI48 - 0x00000000003088c4 ___movstrSI44 - 0x00000000003088c4 ___movmemSI44 - 0x00000000003088c8 ___movstrSI40 - 0x00000000003088c8 ___movmemSI40 - 0x00000000003088cc ___movstrSI36 - 0x00000000003088cc ___movmemSI36 - 0x00000000003088d0 ___movmemSI32 - 0x00000000003088d0 ___movstrSI32 - 0x00000000003088d4 ___movmemSI28 - 0x00000000003088d4 ___movstrSI28 - 0x00000000003088d8 ___movstrSI24 - 0x00000000003088d8 ___movmemSI24 - 0x00000000003088dc ___movmemSI20 - 0x00000000003088dc ___movstrSI20 - 0x00000000003088e0 ___movstrSI16 - 0x00000000003088e0 ___movmemSI16 - 0x00000000003088e4 ___movmemSI12 - 0x00000000003088e4 ___movstrSI12 - 0x00000000003088e8 ___movmemSI8 - 0x00000000003088e8 ___movstrSI8 - 0x00000000003088ec ___movmemSI4 - 0x00000000003088ec ___movstrSI4 - .text 0x00000000003088f4 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - 0x00000000003088f4 ___udivdi3 - .text 0x0000000000308ae4 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - 0x0000000000308ae4 ___umoddi3 - .text 0x0000000000308d18 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - 0x0000000000308d3a ___udivsi3 - *fill* 0x0000000000308d84 0x4 - .text 0x0000000000308d88 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000308d88 ___udiv_qrnnd_16 - .text 0x0000000000308de8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000300d28 _launch_ui + .text 0x000000000030106c 0x1ffc build-fx/src/level.c.o + 0x000000000030106c _malloc_error + 0x00000000003010a4 _init_level + 0x0000000000301128 _init_ennemies + 0x0000000000301198 _set_level + 0x0000000000303048 _get_lvl_id + .text 0x0000000000303068 0xd8 build-fx/src/config.c.o + 0x0000000000303068 _configmenu + .text 0x0000000000303140 0x250 build-fx/src/score.c.o + 0x0000000000303140 _new_level + 0x0000000000303160 _new_game + 0x00000000003031b4 _get_score + 0x00000000003031c0 _score_reset + 0x00000000003031e0 _score_add_coin + 0x00000000003031f0 _score_add + 0x0000000000303240 _score_display + 0x0000000000303384 _get_time_spent + .text 0x0000000000303390 0x40 build-fx/src/tile.c.o + 0x0000000000303390 _draw_tile + .text 0x00000000003033d0 0x318 build-fx/src/plateforme.c.o + 0x00000000003033d0 _reset_plateforme + 0x00000000003033de _move_plateforme + 0x000000000030359c _display_plateformes + 0x000000000030363c _move_plateformes + 0x0000000000303694 _plateforme_check_collide + .text 0x00000000003036e8 0x4ac build-fx/src/box.c.o + 0x00000000003036e8 _sgn + 0x00000000003036fa _check_collision + 0x000000000030378c _box_move + 0x0000000000303b10 _box_jump + .text 0x0000000000303b94 0x61c build-fx/src/world.c.o + 0x0000000000303b94 _world_get_width + 0x0000000000303ba4 _world_get + 0x0000000000303c08 _display_cell + 0x0000000000303f14 _world_get_ctg + 0x0000000000303f68 _reset_camera + 0x0000000000303f84 _world_get_real_x0 + 0x0000000000303fac _reload_camera + 0x0000000000303fd4 _world_get_real_y0 + 0x0000000000303fe8 _world_draw + 0x0000000000304104 _world_move + .text 0x00000000003041b0 0x56c build-fx/src/bonus.c.o + 0x00000000003041b0 _bonus_set + 0x00000000003041e0 _bonus_move + 0x0000000000304394 _bonus_draw + 0x00000000003044a8 _lance_bullet + 0x0000000000304504 _bullet_display + 0x000000000030459c _bullet_move + .text 0x000000000030471c 0x16c build-fx/src/save.c.o + 0x000000000030471c _load_save + 0x0000000000304720 _flash_save + 0x0000000000304724 _get_highscore + 0x0000000000304774 _set_highscore + 0x00000000003047c4 _get_best_time + 0x0000000000304814 _set_best_time + 0x000000000030487c _get_progress_status + .text 0x0000000000304888 0x7d0 build-fx/src/mario.c.o + 0x0000000000304898 _mario_bigger + 0x00000000003048b4 _mario_smaller + 0x00000000003048e0 _mario_draw + 0x0000000000304a9c _test_sol_le_plus_proche + 0x0000000000304b08 _mario_move + .text 0x0000000000305058 0x0 build-fx/src/main.c.o + .text.startup 0x0000000000305058 0x24 build-fx/src/main.c.o + 0x0000000000305058 _main + .text 0x000000000030507c 0x2c0 build-fx/src/keyboard.c.o + 0x000000000030507c _keyboard_clear + 0x000000000030509c _getkey_custom + 0x00000000003050ec _menu_pause + 0x0000000000305244 _update_keyboard + .text 0x000000000030533c 0x7b0 build-fx/src/ennemi.c.o + 0x000000000030533c _display_ennemi + 0x0000000000305584 _ennemi_check_collision + 0x00000000003055e8 _hurt_mario + 0x000000000030561c _move_ennemi + 0x0000000000305aac _display_ennemi_table + .text 0x0000000000305aec 0xce4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x00000000003064e8 _kprint_opt + 0x0000000000306630 _kprint + 0x0000000000306708 _kvsprint + 0x0000000000306750 _sprintf + 0x0000000000306778 _vsprintf + 0x0000000000306798 _snprintf + 0x00000000003067b8 _vsnprintf + .text 0x00000000003067d0 0xdc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + 0x00000000003067d0 _memcpy + 0x000000000030688a __memmove + 0x000000000030688e __memcmp + 0x0000000000306892 _memset + .text 0x00000000003068ac 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 0x00000000003068ac 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 0x00000000003068ac 0x11c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) + 0x00000000003068ac _drect + .text 0x00000000003069c8 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + 0x00000000003069c8 _dupdate + 0x00000000003069e0 _dupdate_noint + .text 0x00000000003069ec 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + 0x00000000003069ec _masks + .text 0x0000000000306a88 0xc8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x0000000000306a88 _dimage + 0x0000000000306adc _dsubimage + .text 0x0000000000306b50 0x4c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + 0x0000000000306b50 _dclear + .text 0x0000000000306b9c 0x3fc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000306d44 _pollevent + 0x0000000000306e88 _waitevent + 0x0000000000306ed4 _clearevents + 0x0000000000306ef4 _keydown + 0x0000000000306f20 _keydown_all + 0x0000000000306f5c _keydown_any + .text 0x0000000000306f98 0x124 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + 0x0000000000306fa4 _iokbd_row + 0x000000000030708c _iokbd_scan + .text 0x00000000003070bc 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + 0x00000000003070bc _getkey_opt + 0x0000000000307268 _getkey + 0x0000000000307274 _getkey_repeat + .text 0x00000000003072b0 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 0x00000000003072b0 0x1c4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x0000000000307440 _gint_panic + 0x0000000000307450 _gint_panic_set + 0x000000000030745c _gint_exc_catch + 0x0000000000307468 _gint_exc_skip + .text 0x0000000000307474 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 0x0000000000307474 0x17c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + 0x0000000000307528 _gint_install + 0x00000000003075d8 _gint_unload + .text 0x00000000003075f0 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 0x00000000003075f0 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 0x00000000003075f0 0x1f4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + 0x00000000003075f0 _tlb_addr + 0x0000000000307604 _tlb_data + 0x0000000000307618 _tlb_mapped_memory + 0x00000000003076ec _utlb_addr + 0x00000000003076fc _utlb_data + 0x000000000030770c _utlb_mapped_memory + .text 0x00000000003077e4 0x9c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x00000000003077e4 _dsize + .text 0x0000000000307880 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + 0x0000000000307880 _dprint + .text 0x00000000003078d8 0x56c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x0000000000307bf8 _timer_setup + 0x0000000000307c88 _timer_delay + 0x0000000000307ce8 _timer_start + 0x0000000000307d1c _timer_reload + 0x0000000000307d3c _timer_pause + 0x0000000000307d70 _timer_stop + 0x0000000000307dcc _timer_timeout + 0x0000000000307dd8 _timer_address + 0x0000000000307e14 _timer_clear + .text 0x0000000000307e44 0x58 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + 0x0000000000307e44 _sleep_us + .text 0x0000000000307e9c 0x1d8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x0000000000307f34 _t6k11_display + 0x0000000000308008 _t6k11_contrast + 0x0000000000308034 _t6k11_backlight + .text 0x0000000000308074 0x150 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x00000000003081b8 _clock_freq + .text 0x00000000003081c4 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 0x00000000003081c4 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) + 0x00000000003081c4 _bopti_asm_mono + 0x00000000003081ea _bopti_asm_mono_alpha + .text 0x000000000030821c 0x410 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x000000000030821c _bopti_grid + 0x0000000000308390 _bopti_render + 0x00000000003084c0 _bopti_render_clip + 0x00000000003085d4 _bopti_render_noclip + .text 0x000000000030862c 0x2c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + 0x000000000030862c _gint_setvbr + .text 0x0000000000308658 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + 0x0000000000308658 _gint_intlevel + 0x00000000003086ac _gint_inthandler + .text 0x00000000003086d0 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 0x00000000003086d0 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 0x00000000003086d0 0x36c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + 0x00000000003087b0 _ll_set_size + 0x00000000003087c4 _ll_set_state + 0x00000000003087e4 _ll_get_state + 0x00000000003087f4 _ll_clear + 0x0000000000308840 _ll_send + 0x00000000003088b4 _ll_sendp + 0x0000000000308900 _ll_display_custom + 0x000000000030896c _ll_display + 0x0000000000308980 _ll_pause + 0x00000000003089d8 _ll_panic + 0x0000000000308a14 _ll_set_panic + 0x0000000000308a24 _ll_set_level + 0x0000000000308a30 _ll_get_level + .text 0x0000000000308a3c 0x78 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + 0x0000000000308a3c ___movstr + 0x0000000000308a3c ___movmem + 0x0000000000308a70 ___movmemSI64 + 0x0000000000308a70 ___movstrSI64 + 0x0000000000308a74 ___movstrSI60 + 0x0000000000308a74 ___movmemSI60 + 0x0000000000308a78 ___movmemSI56 + 0x0000000000308a78 ___movstrSI56 + 0x0000000000308a7c ___movstrSI52 + 0x0000000000308a7c ___movmemSI52 + 0x0000000000308a80 ___movstrSI48 + 0x0000000000308a80 ___movmemSI48 + 0x0000000000308a84 ___movstrSI44 + 0x0000000000308a84 ___movmemSI44 + 0x0000000000308a88 ___movstrSI40 + 0x0000000000308a88 ___movmemSI40 + 0x0000000000308a8c ___movstrSI36 + 0x0000000000308a8c ___movmemSI36 + 0x0000000000308a90 ___movmemSI32 + 0x0000000000308a90 ___movstrSI32 + 0x0000000000308a94 ___movmemSI28 + 0x0000000000308a94 ___movstrSI28 + 0x0000000000308a98 ___movstrSI24 + 0x0000000000308a98 ___movmemSI24 + 0x0000000000308a9c ___movmemSI20 + 0x0000000000308a9c ___movstrSI20 + 0x0000000000308aa0 ___movstrSI16 + 0x0000000000308aa0 ___movmemSI16 + 0x0000000000308aa4 ___movmemSI12 + 0x0000000000308aa4 ___movstrSI12 + 0x0000000000308aa8 ___movmemSI8 + 0x0000000000308aa8 ___movstrSI8 + 0x0000000000308aac ___movmemSI4 + 0x0000000000308aac ___movstrSI4 + .text 0x0000000000308ab4 0x1f0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + 0x0000000000308ab4 ___udivdi3 + .text 0x0000000000308ca4 0x234 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + 0x0000000000308ca4 ___umoddi3 + .text 0x0000000000308ed8 0x6c /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + 0x0000000000308efa ___udivsi3 + *fill* 0x0000000000308f44 0x4 + .text 0x0000000000308f48 0x60 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + 0x0000000000308f48 ___udiv_qrnnd_16 + .text 0x0000000000308fa8 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 0x0000000000308df0 0x120 +.gint.blocks 0x0000000000308fb0 0x120 *(.gint.blocks) - .gint.blocks 0x0000000000308df0 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - 0x0000000000308df0 _gint_inth_7305 - 0x0000000000308e10 _gint_inth_7705 - .gint.blocks 0x0000000000308e30 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - 0x0000000000308e30 _inth_tmu - 0x0000000000308eb0 _inth_etmu2 - 0x0000000000308ed0 _inth_etmu_help - 0x0000000000308ef0 _inth_etmux + .gint.blocks 0x0000000000308fb0 0x40 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + 0x0000000000308fb0 _gint_inth_7305 + 0x0000000000308fd0 _gint_inth_7705 + .gint.blocks 0x0000000000308ff0 0xe0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + 0x0000000000308ff0 _inth_tmu + 0x0000000000309070 _inth_etmu2 + 0x0000000000309090 _inth_etmu_help + 0x00000000003090b0 _inth_etmux -.gint.drivers 0x0000000000308f10 0x90 - 0x0000000000308f10 _bdrv = . +.gint.drivers 0x00000000003090d0 0x90 + 0x00000000003090d0 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x0000000000308f10 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - 0x0000000000308f10 _drv_cpg + 0x00000000003090d0 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + 0x00000000003090d0 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000308f34 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - 0x0000000000308f34 _drv_tmu + 0x00000000003090f4 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + 0x00000000003090f4 _drv_tmu *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x0000000000308f58 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - 0x0000000000308f58 _drv_keysc + 0x0000000000309118 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + 0x0000000000309118 _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x0000000000308f7c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - 0x0000000000308f7c _drv_t6k11 + 0x000000000030913c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + 0x000000000030913c _drv_t6k11 *(.gint.drivers.6) - 0x0000000000308fa0 _edrv = . + 0x0000000000309160 _edrv = . -.rodata 0x0000000000308fa0 0x7df8 +.rodata 0x0000000000309160 0x7e08 *(.rodata.4) *(.rodata .rodata.*) .rodata.str1.4 - 0x0000000000308fa0 0x0 build-fx/src/levelchanger.c.o - 0x3 (size before relaxing) - .rodata 0x0000000000308fa0 0x2e14 build-fx/src/level.c.o + 0x0000000000309160 0xe build-fx/src/levelchanger.c.o + 0x12 (size before relaxing) + *fill* 0x000000000030916e 0x2 + .rodata 0x0000000000309170 0x2e14 build-fx/src/level.c.o .rodata.str1.4 - 0x000000000030bdb4 0x6 build-fx/src/level.c.o - *fill* 0x000000000030bdba 0x2 + 0x000000000030bf84 0x6 build-fx/src/level.c.o + *fill* 0x000000000030bf8a 0x2 .rodata.str1.4 - 0x000000000030bdbc 0x22 build-fx/src/config.c.o - *fill* 0x000000000030bdde 0x2 + 0x000000000030bf8c 0x22 build-fx/src/config.c.o + *fill* 0x000000000030bfae 0x2 .rodata.str1.4 - 0x000000000030bde0 0x1a build-fx/src/score.c.o + 0x000000000030bfb0 0x1a build-fx/src/score.c.o 0x1e (size before relaxing) - *fill* 0x000000000030bdfa 0x2 - .rodata 0x000000000030bdfc 0x130 build-fx/src/tile.c.o - 0x000000000030bdfc _tplateforme - 0x000000000030be0c _mario_big - 0x000000000030be1c _mario_small - 0x000000000030be2c _bullet - 0x000000000030be3c _fleur - 0x000000000030be4c _mario_starman - 0x000000000030be5c _life_1up - 0x000000000030be6c _champi - 0x000000000030be7c _bloc - 0x000000000030be8c _end_level - 0x000000000030be9c _castle - 0x000000000030beac _colline - 0x000000000030bebc _buisson - 0x000000000030becc _nuage - 0x000000000030bedc _coin - 0x000000000030beec _gift - 0x000000000030befc _earth - 0x000000000030bf0c _brick - 0x000000000030bf1c _tuyau + *fill* 0x000000000030bfca 0x2 + .rodata 0x000000000030bfcc 0x130 build-fx/src/tile.c.o + 0x000000000030bfcc _tplateforme + 0x000000000030bfdc _mario_big + 0x000000000030bfec _mario_small + 0x000000000030bffc _bullet + 0x000000000030c00c _fleur + 0x000000000030c01c _mario_starman + 0x000000000030c02c _life_1up + 0x000000000030c03c _champi + 0x000000000030c04c _bloc + 0x000000000030c05c _end_level + 0x000000000030c06c _castle + 0x000000000030c07c _colline + 0x000000000030c08c _buisson + 0x000000000030c09c _nuage + 0x000000000030c0ac _coin + 0x000000000030c0bc _gift + 0x000000000030c0cc _earth + 0x000000000030c0dc _brick + 0x000000000030c0ec _tuyau .rodata.str1.4 - 0x000000000030bf2c 0x63 build-fx/src/world.c.o - *fill* 0x000000000030bf8f 0x1 - .rodata 0x000000000030bf90 0x28 build-fx/src/keyboard.c.o - .rodata 0x000000000030bfb8 0x60 build-fx/src/ennemi.c.o - 0x000000000030bfe8 _ennemi_heights - 0x000000000030c000 _ennemi_widths - .rodata 0x000000000030c018 0x204 build-fx/assets/fonts/mario.png.o - 0x000000000030c018 _font_mario - 0x000000000030c21c _font_mario_end - .rodata 0x000000000030c21c 0x20 build-fx/assets/img/bonus.png.o - 0x000000000030c21c _img_bonus - 0x000000000030c23c _img_bonus_end - .rodata 0x000000000030c23c 0x24 build-fx/assets/img/bloc.png.o - 0x000000000030c23c _img_bloc - 0x000000000030c260 _img_bloc_end - .rodata 0x000000000030c260 0x404 build-fx/assets/img/ram.png.o - 0x000000000030c260 _img_ram - 0x000000000030c664 _img_ram_end - .rodata 0x000000000030c664 0x58 build-fx/assets/img/w5.png.o - 0x000000000030c664 _img_w5 - 0x000000000030c6bc _img_w5_end - .rodata 0x000000000030c6bc 0x404 build-fx/assets/img/options.png.o - 0x000000000030c6bc _img_options - 0x000000000030cac0 _img_options_end - .rodata 0x000000000030cac0 0x44 build-fx/assets/img/fleur.png.o - 0x000000000030cac0 _img_fleur - 0x000000000030cb04 _img_fleur_end - .rodata 0x000000000030cb04 0x58 build-fx/assets/img/w2.png.o - 0x000000000030cb04 _img_w2 - 0x000000000030cb5c _img_w2_end - .rodata 0x000000000030cb5c 0x404 build-fx/assets/img/main.png.o - 0x000000000030cb5c _img_main - 0x000000000030cf60 _img_main_end - .rodata 0x000000000030cf60 0x64 build-fx/assets/img/flag.png.o - 0x000000000030cf60 _img_flag - 0x000000000030cfc4 _img_flag_end - .rodata 0x000000000030cfc4 0x404 build-fx/assets/img/new_level.png.o - 0x000000000030cfc4 _img_new_level - 0x000000000030d3c8 _img_new_level_end - .rodata 0x000000000030d3c8 0x4c build-fx/assets/img/brick.png.o - 0x000000000030d3c8 _img_brick - 0x000000000030d414 _img_brick_end - .rodata 0x000000000030d414 0xbc build-fx/assets/img/menu_pause.png.o - 0x000000000030d414 _img_menu_pause - 0x000000000030d4d0 _img_menu_pause_end - .rodata 0x000000000030d4d0 0x18 build-fx/assets/img/select_arrow.png.o - 0x000000000030d4d0 _img_select_arrow - 0x000000000030d4e8 _img_select_arrow_end - .rodata 0x000000000030d4e8 0x804 build-fx/assets/img/dev.png.o - 0x000000000030d4e8 _img_dev - 0x000000000030dcec _img_dev_end - .rodata 0x000000000030dcec 0x24 build-fx/assets/img/death.png.o - 0x000000000030dcec _img_death - 0x000000000030dd10 _img_death_end - .rodata 0x000000000030dd10 0x404 build-fx/assets/img/mainmenu.png.o - 0x000000000030dd10 _img_mainmenu - 0x000000000030e114 _img_mainmenu_end - .rodata 0x000000000030e114 0x58 build-fx/assets/img/w3.png.o - 0x000000000030e114 _img_w3 - 0x000000000030e16c _img_w3_end - .rodata 0x000000000030e16c 0x404 build-fx/assets/img/time_over.png.o - 0x000000000030e16c _img_time_over - 0x000000000030e570 _img_time_over_end - .rodata 0x000000000030e570 0x4c build-fx/assets/img/coin.png.o - 0x000000000030e570 _img_coin - 0x000000000030e5bc _img_coin_end - .rodata 0x000000000030e5bc 0x24 build-fx/assets/img/champi.png.o - 0x000000000030e5bc _img_champi - 0x000000000030e5e0 _img_champi_end - .rodata 0x000000000030e5e0 0xdc build-fx/assets/img/mariosmall.png.o - 0x000000000030e5e0 _img_mariosmall - 0x000000000030e6bc _img_mariosmall_end - .rodata 0x000000000030e6bc 0x404 build-fx/assets/img/levelchanger.png.o - 0x000000000030e6bc _img_levelchanger - 0x000000000030eac0 _img_levelchanger_end - .rodata 0x000000000030eac0 0x28 build-fx/assets/img/gift.png.o - 0x000000000030eac0 _img_gift - 0x000000000030eae8 _img_gift_end - .rodata 0x000000000030eae8 0x44 build-fx/assets/img/buisson.png.o - 0x000000000030eae8 _img_buisson - 0x000000000030eb2c _img_buisson_end - .rodata 0x000000000030eb2c 0x84 build-fx/assets/img/colline.png.o - 0x000000000030eb2c _img_colline - 0x000000000030ebb0 _img_colline_end - .rodata 0x000000000030ebb0 0x24 build-fx/assets/img/star.png.o - 0x000000000030ebb0 _img_star - 0x000000000030ebd4 _img_star_end - .rodata 0x000000000030ebd4 0x224 build-fx/assets/img/mariobig.png.o - 0x000000000030ebd4 _img_mariobig - 0x000000000030edf8 _img_mariobig_end - .rodata 0x000000000030edf8 0x804 build-fx/assets/img/error.png.o - 0x000000000030edf8 _img_error - 0x000000000030f5fc _img_error_end - .rodata 0x000000000030f5fc 0x44 build-fx/assets/img/1up.png.o - 0x000000000030f5fc _img_1up - 0x000000000030f640 _img_1up_end - .rodata 0x000000000030f640 0xb8 build-fx/assets/img/tuyau.png.o - 0x000000000030f640 _img_tuyau - 0x000000000030f6f8 _img_tuyau_end - .rodata 0x000000000030f6f8 0x24 build-fx/assets/img/bullet.png.o - 0x000000000030f6f8 _img_bullet - 0x000000000030f71c _img_bullet_end - .rodata 0x000000000030f71c 0x4c build-fx/assets/img/carapace_verte.png.o - 0x000000000030f71c _img_carapace_verte - 0x000000000030f768 _img_carapace_verte_end - .rodata 0x000000000030f768 0x44 build-fx/assets/img/nuage.png.o - 0x000000000030f768 _img_nuage - 0x000000000030f7ac _img_nuage_end - .rodata 0x000000000030f7ac 0x10 build-fx/assets/img/plateforme.png.o - 0x000000000030f7ac _img_plateforme - 0x000000000030f7bc _img_plateforme_end - .rodata 0x000000000030f7bc 0xc4 build-fx/assets/img/koopa_verte.png.o - 0x000000000030f7bc _img_koopa_verte - 0x000000000030f880 _img_koopa_verte_end - .rodata 0x000000000030f880 0x404 build-fx/assets/img/game_over.png.o - 0x000000000030f880 _img_game_over - 0x000000000030fc84 _img_game_over_end - .rodata 0x000000000030fc84 0x404 build-fx/assets/img/level.png.o - 0x000000000030fc84 _img_level - 0x0000000000310088 _img_level_end - .rodata 0x0000000000310088 0xe4 build-fx/assets/img/castle.png.o - 0x0000000000310088 _img_castle - 0x000000000031016c _img_castle_end - .rodata 0x000000000031016c 0x4c build-fx/assets/img/goomba.png.o - 0x000000000031016c _img_goomba - 0x00000000003101b8 _img_goomba_end - .rodata 0x00000000003101b8 0x4c build-fx/assets/img/stone.png.o - 0x00000000003101b8 _img_stone - 0x0000000000310204 _img_stone_end - .rodata 0x0000000000310204 0x24 build-fx/assets/img/tickbox.png.o - 0x0000000000310204 _img_tickbox - 0x0000000000310228 _img_tickbox_end - .rodata 0x0000000000310228 0x58 build-fx/assets/img/w4.png.o - 0x0000000000310228 _img_w4 - 0x0000000000310280 _img_w4_end - .rodata 0x0000000000310280 0x58 build-fx/assets/img/w1.png.o - 0x0000000000310280 _img_w1 - 0x00000000003102d8 _img_w1_end - .rodata 0x00000000003102d8 0x404 build-fx/assets/img/lvl0.png.o - 0x00000000003102d8 _img_lvl0 - 0x00000000003106dc _img_lvl0_end + 0x000000000030c0fc 0x63 build-fx/src/world.c.o + *fill* 0x000000000030c15f 0x1 + .rodata 0x000000000030c160 0x28 build-fx/src/keyboard.c.o + .rodata 0x000000000030c188 0x60 build-fx/src/ennemi.c.o + 0x000000000030c1b8 _ennemi_heights + 0x000000000030c1d0 _ennemi_widths + .rodata 0x000000000030c1e8 0x204 build-fx/assets/fonts/mario.png.o + 0x000000000030c1e8 _font_mario + 0x000000000030c3ec _font_mario_end + .rodata 0x000000000030c3ec 0x20 build-fx/assets/img/bonus.png.o + 0x000000000030c3ec _img_bonus + 0x000000000030c40c _img_bonus_end + .rodata 0x000000000030c40c 0x24 build-fx/assets/img/bloc.png.o + 0x000000000030c40c _img_bloc + 0x000000000030c430 _img_bloc_end + .rodata 0x000000000030c430 0x404 build-fx/assets/img/ram.png.o + 0x000000000030c430 _img_ram + 0x000000000030c834 _img_ram_end + .rodata 0x000000000030c834 0x58 build-fx/assets/img/w5.png.o + 0x000000000030c834 _img_w5 + 0x000000000030c88c _img_w5_end + .rodata 0x000000000030c88c 0x404 build-fx/assets/img/options.png.o + 0x000000000030c88c _img_options + 0x000000000030cc90 _img_options_end + .rodata 0x000000000030cc90 0x44 build-fx/assets/img/fleur.png.o + 0x000000000030cc90 _img_fleur + 0x000000000030ccd4 _img_fleur_end + .rodata 0x000000000030ccd4 0x58 build-fx/assets/img/w2.png.o + 0x000000000030ccd4 _img_w2 + 0x000000000030cd2c _img_w2_end + .rodata 0x000000000030cd2c 0x404 build-fx/assets/img/main.png.o + 0x000000000030cd2c _img_main + 0x000000000030d130 _img_main_end + .rodata 0x000000000030d130 0x64 build-fx/assets/img/flag.png.o + 0x000000000030d130 _img_flag + 0x000000000030d194 _img_flag_end + .rodata 0x000000000030d194 0x404 build-fx/assets/img/new_level.png.o + 0x000000000030d194 _img_new_level + 0x000000000030d598 _img_new_level_end + .rodata 0x000000000030d598 0x4c build-fx/assets/img/brick.png.o + 0x000000000030d598 _img_brick + 0x000000000030d5e4 _img_brick_end + .rodata 0x000000000030d5e4 0xbc build-fx/assets/img/menu_pause.png.o + 0x000000000030d5e4 _img_menu_pause + 0x000000000030d6a0 _img_menu_pause_end + .rodata 0x000000000030d6a0 0x18 build-fx/assets/img/select_arrow.png.o + 0x000000000030d6a0 _img_select_arrow + 0x000000000030d6b8 _img_select_arrow_end + .rodata 0x000000000030d6b8 0x804 build-fx/assets/img/dev.png.o + 0x000000000030d6b8 _img_dev + 0x000000000030debc _img_dev_end + .rodata 0x000000000030debc 0x24 build-fx/assets/img/death.png.o + 0x000000000030debc _img_death + 0x000000000030dee0 _img_death_end + .rodata 0x000000000030dee0 0x404 build-fx/assets/img/mainmenu.png.o + 0x000000000030dee0 _img_mainmenu + 0x000000000030e2e4 _img_mainmenu_end + .rodata 0x000000000030e2e4 0x58 build-fx/assets/img/w3.png.o + 0x000000000030e2e4 _img_w3 + 0x000000000030e33c _img_w3_end + .rodata 0x000000000030e33c 0x404 build-fx/assets/img/time_over.png.o + 0x000000000030e33c _img_time_over + 0x000000000030e740 _img_time_over_end + .rodata 0x000000000030e740 0x4c build-fx/assets/img/coin.png.o + 0x000000000030e740 _img_coin + 0x000000000030e78c _img_coin_end + .rodata 0x000000000030e78c 0x24 build-fx/assets/img/champi.png.o + 0x000000000030e78c _img_champi + 0x000000000030e7b0 _img_champi_end + .rodata 0x000000000030e7b0 0xdc build-fx/assets/img/mariosmall.png.o + 0x000000000030e7b0 _img_mariosmall + 0x000000000030e88c _img_mariosmall_end + .rodata 0x000000000030e88c 0x404 build-fx/assets/img/levelchanger.png.o + 0x000000000030e88c _img_levelchanger + 0x000000000030ec90 _img_levelchanger_end + .rodata 0x000000000030ec90 0x28 build-fx/assets/img/gift.png.o + 0x000000000030ec90 _img_gift + 0x000000000030ecb8 _img_gift_end + .rodata 0x000000000030ecb8 0x44 build-fx/assets/img/buisson.png.o + 0x000000000030ecb8 _img_buisson + 0x000000000030ecfc _img_buisson_end + .rodata 0x000000000030ecfc 0x84 build-fx/assets/img/colline.png.o + 0x000000000030ecfc _img_colline + 0x000000000030ed80 _img_colline_end + .rodata 0x000000000030ed80 0x24 build-fx/assets/img/star.png.o + 0x000000000030ed80 _img_star + 0x000000000030eda4 _img_star_end + .rodata 0x000000000030eda4 0x224 build-fx/assets/img/mariobig.png.o + 0x000000000030eda4 _img_mariobig + 0x000000000030efc8 _img_mariobig_end + .rodata 0x000000000030efc8 0x804 build-fx/assets/img/error.png.o + 0x000000000030efc8 _img_error + 0x000000000030f7cc _img_error_end + .rodata 0x000000000030f7cc 0x44 build-fx/assets/img/1up.png.o + 0x000000000030f7cc _img_1up + 0x000000000030f810 _img_1up_end + .rodata 0x000000000030f810 0xb8 build-fx/assets/img/tuyau.png.o + 0x000000000030f810 _img_tuyau + 0x000000000030f8c8 _img_tuyau_end + .rodata 0x000000000030f8c8 0x24 build-fx/assets/img/bullet.png.o + 0x000000000030f8c8 _img_bullet + 0x000000000030f8ec _img_bullet_end + .rodata 0x000000000030f8ec 0x4c build-fx/assets/img/carapace_verte.png.o + 0x000000000030f8ec _img_carapace_verte + 0x000000000030f938 _img_carapace_verte_end + .rodata 0x000000000030f938 0x44 build-fx/assets/img/nuage.png.o + 0x000000000030f938 _img_nuage + 0x000000000030f97c _img_nuage_end + .rodata 0x000000000030f97c 0x10 build-fx/assets/img/plateforme.png.o + 0x000000000030f97c _img_plateforme + 0x000000000030f98c _img_plateforme_end + .rodata 0x000000000030f98c 0xc4 build-fx/assets/img/koopa_verte.png.o + 0x000000000030f98c _img_koopa_verte + 0x000000000030fa50 _img_koopa_verte_end + .rodata 0x000000000030fa50 0x404 build-fx/assets/img/game_over.png.o + 0x000000000030fa50 _img_game_over + 0x000000000030fe54 _img_game_over_end + .rodata 0x000000000030fe54 0x404 build-fx/assets/img/level.png.o + 0x000000000030fe54 _img_level + 0x0000000000310258 _img_level_end + .rodata 0x0000000000310258 0xe4 build-fx/assets/img/castle.png.o + 0x0000000000310258 _img_castle + 0x000000000031033c _img_castle_end + .rodata 0x000000000031033c 0x4c build-fx/assets/img/goomba.png.o + 0x000000000031033c _img_goomba + 0x0000000000310388 _img_goomba_end + .rodata 0x0000000000310388 0x4c build-fx/assets/img/stone.png.o + 0x0000000000310388 _img_stone + 0x00000000003103d4 _img_stone_end + .rodata 0x00000000003103d4 0x24 build-fx/assets/img/tickbox.png.o + 0x00000000003103d4 _img_tickbox + 0x00000000003103f8 _img_tickbox_end + .rodata 0x00000000003103f8 0x58 build-fx/assets/img/w4.png.o + 0x00000000003103f8 _img_w4 + 0x0000000000310450 _img_w4_end + .rodata 0x0000000000310450 0x58 build-fx/assets/img/w1.png.o + 0x0000000000310450 _img_w1 + 0x00000000003104a8 _img_w1_end + .rodata 0x00000000003104a8 0x404 build-fx/assets/img/lvl0.png.o + 0x00000000003104a8 _img_lvl0 + 0x00000000003108ac _img_lvl0_end .rodata.str1.4 - 0x00000000003106dc 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* 0x000000000031070d 0x3 - .rodata 0x0000000000310710 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + 0x00000000003108ac 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* 0x00000000003108dd 0x3 + .rodata 0x00000000003108e0 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 - 0x0000000000310718 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* 0x000000000031071e 0x2 + 0x00000000003108e8 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* 0x00000000003108ee 0x2 .rodata.str1.4 - 0x0000000000310720 0x11a /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + 0x00000000003108f0 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* 0x000000000031083a 0x2 - .rodata 0x000000000031083c 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* 0x0000000000310a0a 0x2 + .rodata 0x0000000000310a0c 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 - 0x0000000000310854 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 0x0000000000310858 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) - 0x0000000000310858 _gint_font5x7 - 0x0000000000310c60 _gint_font5x7_end + 0x0000000000310a24 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 0x0000000000310a28 0x408 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(font5x7.png.o) + 0x0000000000310a28 _gint_font5x7 + 0x0000000000310e30 _gint_font5x7_end .rodata.str1.4 - 0x0000000000310c60 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* 0x0000000000310c66 0x2 + 0x0000000000310e30 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* 0x0000000000310e36 0x2 .rodata.str1.4 - 0x0000000000310c68 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 0x0000000000310c6c 0x10 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + 0x0000000000310e38 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 0x0000000000310e3c 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.str1.4 - 0x0000000000310c7c 0x1b /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - *fill* 0x0000000000310c97 0x1 - .rodata 0x0000000000310c98 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) - 0x0000000000310c98 ___clz_tab + 0x0000000000310e4c 0x1b /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + *fill* 0x0000000000310e67 0x1 + .rodata 0x0000000000310e68 0x100 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000000310e68 ___clz_tab -.rela.dyn 0x0000000000310d98 0x0 - .rela.text 0x0000000000310d98 0x0 build-fx/src/levelchanger.c.o +.rela.dyn 0x0000000000310f68 0x0 + .rela.text 0x0000000000310f68 0x0 build-fx/src/levelchanger.c.o .rela.pretext.entry - 0x0000000000310d98 0x0 build-fx/src/levelchanger.c.o + 0x0000000000310f68 0x0 build-fx/src/levelchanger.c.o 0x0000000008100000 . = ORIGIN (ram) -.bss 0x0000000008100000 0x740 +.bss 0x0000000008100000 0x8b0 0x0000000008100000 _rbss = . *(.bss COMMON) .bss 0x0000000008100000 0x0 build-fx/src/levelchanger.c.o @@ -777,179 +778,182 @@ LOAD /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a 0x0000000008100000 _frame_id .bss 0x0000000008100004 0x0 build-fx/src/level.c.o .bss 0x0000000008100004 0x0 build-fx/src/config.c.o - .bss 0x0000000008100004 0x18 build-fx/src/score.c.o + .bss 0x0000000008100004 0x1c build-fx/src/score.c.o 0x0000000008100004 _finish_level - 0x0000000008100008 _time_left - 0x000000000810000c _time_id - 0x0000000008100010 _pieces - 0x0000000008100014 _combo - .bss 0x000000000810001c 0x4 build-fx/src/tile.c.o - 0x000000000810001c _dark_theme - .bss 0x0000000008100020 0x8 build-fx/src/plateforme.c.o - 0x0000000008100020 _plateformes - 0x0000000008100024 _plateforme_table_size - .bss 0x0000000008100028 0x0 build-fx/src/box.c.o - .bss 0x0000000008100028 0x20 build-fx/src/world.c.o - 0x0000000008100028 _death - 0x000000000810002c _w_mario_starty - 0x0000000008100030 _w_mario_startx - 0x0000000008100034 _w_current_y - 0x0000000008100038 _w_current_x - 0x000000000810003c _w_fond - 0x0000000008100040 _w_current - .bss 0x0000000008100048 0x0 build-fx/src/bonus.c.o - .bss 0x0000000008100048 0xb8 build-fx/src/save.c.o - 0x0000000008100048 _progress_status - 0x000000000810004c _level_highscores - COMMON 0x0000000008100100 0xb4 build-fx/src/save.c.o - 0x0000000008100100 _level_best_times - .bss 0x00000000081001b4 0x24 build-fx/src/mario.c.o - 0x00000000081001b4 _global_quit - 0x00000000081001b8 _mario_star_mode - 0x00000000081001bc _mario_immunity - 0x00000000081001c0 _mario_dead - 0x00000000081001c4 _mario_has_bullets - 0x00000000081001c8 _mario_x_max - 0x00000000081001cc _id_frame - .bss 0x00000000081001d8 0x0 build-fx/src/main.c.o - .bss 0x00000000081001d8 0x18 build-fx/src/keyboard.c.o - 0x00000000081001d8 _keys - .bss 0x00000000081001f0 0x8 build-fx/src/ennemi.c.o - 0x00000000081001f0 _ennemis_global_size - 0x00000000081001f4 _ennemis_global - .bss 0x00000000081001f8 0x114 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - .bss 0x000000000810030c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - .bss 0x000000000810030c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .bss 0x000000000810030c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .bss 0x000000000810030c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) - .bss 0x000000000810030c 0x400 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - .bss 0x000000000810070c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - .bss 0x000000000810070c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - .bss 0x000000000810070c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - .bss 0x000000000810070c 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - .bss 0x0000000008100730 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - .bss 0x0000000008100730 0xc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .bss 0x000000000810073c 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) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .bss 0x000000000810073c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .bss 0x000000000810073c 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - .bss 0x0000000008100740 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - .bss 0x0000000008100740 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - .bss 0x0000000008100740 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - .bss 0x0000000008100740 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - .bss 0x0000000008100740 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - .bss 0x0000000008100740 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + 0x0000000008100008 _time_spent + 0x000000000810000c _time_left + 0x0000000008100010 _time_id + 0x0000000008100014 _pieces + 0x0000000008100018 _combo + .bss 0x0000000008100020 0x4 build-fx/src/tile.c.o + 0x0000000008100020 _dark_theme + .bss 0x0000000008100024 0x8 build-fx/src/plateforme.c.o + 0x0000000008100024 _plateformes + 0x0000000008100028 _plateforme_table_size + .bss 0x000000000810002c 0x0 build-fx/src/box.c.o + .bss 0x000000000810002c 0x20 build-fx/src/world.c.o + 0x000000000810002c _death + 0x0000000008100030 _w_mario_starty + 0x0000000008100034 _w_mario_startx + 0x0000000008100038 _w_current_y + 0x000000000810003c _w_current_x + 0x0000000008100040 _w_fond + 0x0000000008100044 _w_current + .bss 0x000000000810004c 0x0 build-fx/src/bonus.c.o + .bss 0x000000000810004c 0x2d4 build-fx/src/save.c.o + 0x000000000810004c _progress_status + 0x0000000008100050 _level_starfrags + 0x0000000008100104 _level_coins + 0x00000000081001b8 _level_times + 0x000000000810026c _level_scores + .bss 0x0000000008100320 0x24 build-fx/src/mario.c.o + 0x0000000008100320 _global_quit + 0x0000000008100324 _mario_star_mode + 0x0000000008100328 _mario_immunity + 0x000000000810032c _mario_dead + 0x0000000008100330 _mario_has_bullets + 0x0000000008100334 _mario_x_max + 0x0000000008100338 _id_frame + .bss 0x0000000008100344 0x0 build-fx/src/main.c.o + .bss 0x0000000008100344 0x18 build-fx/src/keyboard.c.o + 0x0000000008100344 _keys + .bss 0x000000000810035c 0x8 build-fx/src/ennemi.c.o + 0x000000000810035c _ennemis_global_size + 0x0000000008100360 _ennemis_global + .bss 0x0000000008100364 0x114 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + .bss 0x0000000008100478 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + .bss 0x0000000008100478 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .bss 0x0000000008100478 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .bss 0x0000000008100478 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) + .bss 0x0000000008100478 0x400 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + .bss 0x0000000008100878 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + .bss 0x0000000008100878 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + .bss 0x0000000008100878 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + .bss 0x0000000008100878 0x24 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + .bss 0x000000000810089c 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + .bss 0x000000000810089c 0xc /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .bss 0x00000000081008a8 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) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .bss 0x00000000081008a8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .bss 0x00000000081008a8 0x4 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + .bss 0x00000000081008ac 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + .bss 0x00000000081008ac 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + .bss 0x00000000081008ac 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + .bss 0x00000000081008ac 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + .bss 0x00000000081008ac 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + .bss 0x00000000081008ac 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(B R) - 0x0000000008100740 . = ALIGN (0x10) - 0x0000000000000740 _sbss = SIZEOF (.bss) + 0x00000000081008b0 . = ALIGN (0x10) + *fill* 0x00000000081008ac 0x4 + 0x00000000000008b0 _sbss = SIZEOF (.bss) -.data 0x0000000008100740 0x160 load address 0x0000000000310d98 - 0x0000000000310d98 _ldata = LOADADDR (.data) - 0x0000000008100740 _rdata = . +.data 0x00000000081008b0 0x160 load address 0x0000000000310f68 + 0x0000000000310f68 _ldata = LOADADDR (.data) + 0x00000000081008b0 _rdata = . *(.data .data.*) - .data 0x0000000008100740 0x0 build-fx/src/levelchanger.c.o - .data 0x0000000008100740 0x0 build-fx/src/level.c.o - .data 0x0000000008100740 0x54 build-fx/src/config.c.o - 0x0000000008100740 _loglevels - .data 0x0000000008100794 0x8 build-fx/src/score.c.o - 0x0000000008100794 _combo_id - 0x0000000008100798 _lifes - .data 0x000000000810079c 0x0 build-fx/src/tile.c.o - .data 0x000000000810079c 0x0 build-fx/src/plateforme.c.o - .data 0x000000000810079c 0x0 build-fx/src/box.c.o - .data 0x000000000810079c 0x0 build-fx/src/world.c.o - .data 0x000000000810079c 0x3c build-fx/src/bonus.c.o - .data 0x00000000081007d8 0x0 build-fx/src/save.c.o - .data 0x00000000081007d8 0x20 build-fx/src/mario.c.o - 0x00000000081007d8 _last_vx_sign - 0x00000000081007dc _mario - .data 0x00000000081007f8 0x0 build-fx/src/main.c.o - .data 0x00000000081007f8 0x0 build-fx/src/keyboard.c.o - .data 0x00000000081007f8 0x0 build-fx/src/ennemi.c.o - .data 0x00000000081007f8 0x68 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) - 0x00000000081007f8 _kprint_formatters - .data 0x0000000008100860 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) - .data 0x0000000008100860 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) - .data 0x0000000008100860 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - 0x0000000008100860 _topti_font - 0x0000000008100864 _gint_default_font - .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) - .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) - .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) - .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) - .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) - .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) - .data 0x0000000008100868 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) - .data 0x0000000008100868 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) - .data 0x0000000008100870 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) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) - .data 0x0000000008100870 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) - .data 0x0000000008100870 0x30 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) - .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) - .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) - .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) - .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) - .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) - .data 0x00000000081008a0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) + .data 0x00000000081008b0 0x0 build-fx/src/levelchanger.c.o + .data 0x00000000081008b0 0x0 build-fx/src/level.c.o + .data 0x00000000081008b0 0x54 build-fx/src/config.c.o + 0x00000000081008b0 _loglevels + .data 0x0000000008100904 0x8 build-fx/src/score.c.o + 0x0000000008100904 _combo_id + 0x0000000008100908 _lifes + .data 0x000000000810090c 0x0 build-fx/src/tile.c.o + .data 0x000000000810090c 0x0 build-fx/src/plateforme.c.o + .data 0x000000000810090c 0x0 build-fx/src/box.c.o + .data 0x000000000810090c 0x0 build-fx/src/world.c.o + .data 0x000000000810090c 0x3c build-fx/src/bonus.c.o + .data 0x0000000008100948 0x0 build-fx/src/save.c.o + .data 0x0000000008100948 0x20 build-fx/src/mario.c.o + 0x0000000008100948 _last_vx_sign + 0x000000000810094c _mario + .data 0x0000000008100968 0x0 build-fx/src/main.c.o + .data 0x0000000008100968 0x0 build-fx/src/keyboard.c.o + .data 0x0000000008100968 0x0 build-fx/src/ennemi.c.o + .data 0x0000000008100968 0x68 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(stdio.c.o) + 0x0000000008100968 _kprint_formatters + .data 0x00000000081009d0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(memory.c.o) + .data 0x00000000081009d0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dtext.c.o) + .data 0x00000000081009d0 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + 0x00000000081009d0 _topti_font + 0x00000000081009d4 _gint_default_font + .data 0x00000000081009d8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(drect.c.o) + .data 0x00000000081009d8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dupdate.c.o) + .data 0x00000000081009d8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(masks.c.o) + .data 0x00000000081009d8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dimage.c.o) + .data 0x00000000081009d8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dclear.c.o) + .data 0x00000000081009d8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(keysc.c.o) + .data 0x00000000081009d8 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(iokbd.c.o) + .data 0x00000000081009d8 0x8 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(getkey.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(start.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(syscalls.S.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(setup.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(hardware.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(exch.s.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(mmu.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(topti.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(dprint.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(tmu.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(sleep.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(t6k11.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(cpg.c.o) + .data 0x00000000081009e0 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) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti-asm.s.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(bopti.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(vbr.s.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(gint.c.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.S.o) + .data 0x00000000081009e0 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-fx.a(inth.s.o) + .data 0x00000000081009e0 0x30 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/liblog-fx.a(liblog.c.o) + .data 0x0000000008100a10 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_movmem.o) + .data 0x0000000008100a10 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivdi3.o) + .data 0x0000000008100a10 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_umoddi3.o) + .data 0x0000000008100a10 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udivsi3.o) + .data 0x0000000008100a10 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_udiv_qrnnd_16.o) + .data 0x0000000008100a10 0x0 /home/gmilan/opt/sh-elf-2.33-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgcc.a(_clz.o) *(D) - 0x00000000081008a0 . = ALIGN (0x10) + 0x0000000008100a10 . = ALIGN (0x10) -.data.4 0x00000000081008a0 0x0 load address 0x0000000000310ef8 +.data.4 0x0000000008100a10 0x0 load address 0x00000000003110c8 *(.data.4) - 0x00000000081008a0 . = ALIGN (0x10) + 0x0000000008100a10 . = ALIGN (0x10) 0x0000000000000160 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x0 load address 0x0000000000310ef8 - 0x0000000000310ef8 _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x0 load address 0x00000000003110c8 + 0x00000000003110c8 _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) 0x00000000e5200000 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x0000000000310ef8 - 0x0000000000310ef8 _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x00000000003110c8 + 0x00000000003110c8 _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x0000000000310ef8 - 0x0000000000310ef8 _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x00000000003110c8 + 0x00000000003110c8 _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -959,8 +963,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 0x0000000000310ef8 - 0x0000000000310ef8 _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008800f400 0x140 load address 0x00000000003110c8 + 0x00000000003110c8 _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) @@ -981,7 +985,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 0x0000000000311038 +.gint.bss 0x000000008800f540 0x290 load address 0x0000000000311208 *(.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/box.c.d b/build-fx/src/box.c.d index 672af7f..9d05717 100644 --- a/build-fx/src/box.c.d +++ b/build-fx/src/box.c.d @@ -1,5 +1,5 @@ build-fx/src/box.c.o: src/box.c include/box.h include/world.h \ - include/ennemi.h include/box.h include/score.h + include/ennemi.h include/box.h include/score.h include/constants.h include/box.h: @@ -10,3 +10,5 @@ include/ennemi.h: include/box.h: include/score.h: + +include/constants.h: diff --git a/build-fx/src/box.c.o b/build-fx/src/box.c.o index 7045a4f7cdb90b97f74368479d1e17b0afc90262..4a8afe4e6385b66f19d44a1e7a81c6b4c9c4268c 100644 GIT binary patch delta 1277 zcma)5Z%i9y9R9ucmX>;_4js;&i$ZIplG=7no7AQn{v)3|c zj5mUVx1$&t5c^ym7#?BY{OgrHqwkzKk~_Ex;u22+j7wlrWLW8-Ls)G$D_;d;iiEIx zcK^GckMjnL(c>rO1N%HJ8E030R>u=@Nfj}g!gV2yvQ7L*-$G0=Pxldub^7vPYfKiz zV)C~zP7$6|eNFRwwci*;lh1&0Zchu%kErpe2%dad2;;XFZ!L<&wx`>CleEK(=AoIu(>h{cwA_3ekaqJ@eQ zhyS<|!u*299H!D}?6C?tu0wt~2s2dcuIs)cel?GDn$e_E9PhlBEO4nig4#$5}JIOno^ z6DXmiNL;Z@a~N2M^%TiNvMAK{yf9dbmX4MprGZj^3FvUiG7YT!r^BB>+~?YG`tT@{ zF;C)1EW%}q^)zMmL3J289C*@U{p$Nu{skR z&9U}Ek4c@-Lk+dr7mwnd4O0{RgnB||x@p&xdIEN*@k#U{63+w}$K}l0OV_i;z)17? z%wlk)6_!Cf>p6U&(J?OHNS-AiuXvyR75@$^AQ%3qjI89>eTzh?p{Dt%%@N+U`4|My zSyU)WZ`AY)M}~sYP;WmEz1*>Q@4$)ZagFsEKrPy&Lk_@L#prJUdJC@uFkAQzz@t@6 zsWN>P>%O=LpWo)&Vjo0@gB;jm!;(XP3|)|NdK0DhOW*06P+nTC+;@zggs7+x_ Z3LDHdODc*>rw!)%DHVCuYim^+{sUoM!g2rr delta 1049 zcma)4Ur19?96slsyWP!usZ2(>f^-udGTV|Z<}~pS{jn?|gB}u^*Q=;glc6wbunq5O zreo#}pM01v1tIOBsGg(;DIp&^HeEhM(^Z0uqJlj+Z}%?6$b=5u!*|c`_kG{*9KOVX zx&32$=(tz((%V~a`qHFZKIz@y&vc>&nnMegcNSKstEkHjkt)h1CO37JE{L?{Rc-ou zkObw`xU{a2pmMaeG^s66g^u^3913bp2LYwlI#KJ7%0t7|6SWab3IuRFvd*8lYP*}D z3~F1;r_8xVn5R zu(f;uKp7^0W!`+&{%D0N&9^stlbQ2X_JS~RK@(Z))(3EiXh#vHHOMcrOnHk-Y}Z>y z8)%>o!eJPRd!T$HK3=1d{@%Dn*|raxTl&Rz#3kj<0U`)T_GP=I8i%dSpqM>JL1Khp zu?vTi|Ha{BGK*y_#_Tv5iJKe1UgM3`=O)|)1{ zX43=HGt;ZLd8VZ%T@BsUT%ZacaiXT;-gHmeneI+^r2*ZU4){606zUfjY0I?q03Zc# zLY{Xp8uP=@cjMgfnnQ?w_TBkFtb^#!ln^K9V380}lq%7j(M1aNN! diff --git a/build-fx/src/levelchanger.c.o b/build-fx/src/levelchanger.c.o index ffa338787ec546286fdf8d2e62bdc4339881f1ba..0987c6260577531beb1acd147a0e72b367ed79d6 100644 GIT binary patch literal 4048 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 bl+B{vWjr4XUBJH5uY%0~7#S$GyxxBS&}*8# diff --git a/build-fx/src/mario.c.o b/build-fx/src/mario.c.o index f7804f94498cd4a3ea67c368607ab8eea3c726e0..59db90c0863010e21420687a222c6013016a5f2a 100644 GIT binary patch delta 664 zcmZ9IO=uHg5Qb-VH_4_OvqY@6f@U{~*3^iIKQWd?eC~RbNu&F<2gq}!N-| zdL{n9`?jtLB~#=I5);)U6~Z z(=k@QCygb!d{N>W!Z4+eid18VTC{HZOOJN3v4vc8j`bfjy^U8LtoXIKboD#`jxS#z zZ=F#tAr4q|lCZ8(bdzyc4o6yVTwf8VT6H(g delta 595 zcmYk2!D|yy5XNWT+hmh2G*+y{i`i|WY1#-{YeFxs57JQRL2MS& zunY+7F+y1%n87FJK>S7~egZiGsXH3QED52bOzcq78GX9)Z`=;W XF+k4;eU09R;^VV}+-WE5*6`iG>m{5k diff --git a/build-fx/src/save.c.o b/build-fx/src/save.c.o index 827f41766a14dd39788e2a99af08ae1dd31c182f..7261fa9abc1567ddf1dd089a045e096407269dee 100644 GIT binary patch delta 391 zcmbQh^?+-FGUJbpDx8ebVviXfF__3Qa5*R%yBqOc6i!ff;4siJl}&Os;sA?=8}lU? zJ8&c_8}K-C7}yxfBnKOFBnV&UGSD%wao}LBQ;q0lN)R?p>t=?Cu%|I_GjK9+PA*_P zRL`Wqz`(FYkb!{(NZSB$1P})ZF)%O!X>TB2fy9pj3g-a%F!kv`_75P=fT}M8$|nH% zJWzfWkPQMXQ1iP%Y#@f|pToe;z_0@(FnI=(<>aeOI+NL$wG`rWQp-|v;)_cXi_(e` z(~B9P0?GNAdBs50ll7T3cw>OpfZPZKj2V+tn41}MCcj`-W^97&6&{MVZlHatw<)W5?tc7IoGRpyZCp8-Su6ldk~zb3o3U Z#HtKpFie@O!Ky5p17ukNF${o>1OTelD5(Gd diff --git a/build-fx/src/score.c.o b/build-fx/src/score.c.o index a791022deb136c135f081823c404072d32ec7b48..5b716cd41b644e38e4048c7911f7cb75fa506ff7 100644 GIT binary patch delta 1124 zcmZ9JT}TvB6vxk<9i3Un+TC%BG1qWsY}Hc64KtJ;6nsbsb|E2yz_oPSwJ)V9DuNLc zBQjENln)WHNDmPdVLkcSV=uF?VbMb_NkKg<7;8{aXLk3xQy0#?zkBXE|8wrW)AD4^ zoJMlCf)ok9X3QjppwW@k0a9i%;9Gr@TKuYAHJQO-1_!}((QcMOn z`js@l2CAIqRT<@6AO+Q;e}3hZso077jDBB#qQCwIR(C{w-)-jN^2o+&SEj39GWht0 z{_>0KGQSRorO)u;K)Q1{by5vCXT@;H>bP?(3voG=xOH@7BNP57zS54j+R)!-@cmL; zUIWyUx3u=hQuGlK%+T%1;Z!;_@n^3*tWFRWYsXU=&DQ!aBbrRLEZ*I@4p!h@eXp$^ zSj83GnE=*uW$FrZtvy?{SrS~Zl%Q&QBcU_-v3xRbztrYR7}#ts_g zszvs6bdaM&q2Ia49uZ@C9~!Q0Xw{B=CvpSY0FAlod|t;%1ldn#UHgvzvb~Oz3&;jq zwG2RTy@oc4)==8tM1G9sE$ts5zd(zY_NihT>0970c>p#6xIR2C$Wepe^bDOIHHM7j zxzVAEH2gpv5!* delta 1028 zcmZ9LPiWI{6vy8$N!P?o?Xv3X+CiI^u39A96xX8zVJ!%$C~V*kotCocU<%cP2oWj% zL1mpkQ4fNWgLqO95d=MX-6ey{6c20JP|!oABYF_@rOR)P2Hx-YdGGh$_q|_2uJl%v zYMhi86GJIWYVf)mQ|quSstU7)ZTVxWzK)a^h*Pd#xzk!v})sGpYSyGCvmC@R0PA&_jmiF=se^FS6th@%F z4lEy>HczR;sfIY5v_|e6Z$L>&&fL_Ct(x{vewUMPr7@l^3pu%@)B&}WEv=D)NuLw{ zeBu^2ZJz(L4||r(n(Ao$mpL(O?tQqhdmXIshscsCFFBxQP;nYTty4G{sZJEXnEH+ zk(<~wLo>n!`cAOvdtb`P0&I8YaGs+8I~eD21jZ)-b~2vC28^cwdKee*nvCZ>wG|KF z@aWv$)G^wPA9)(D0?15g&C~3wN9cP;h int sgn(int x) { @@ -38,6 +39,12 @@ static void move_x(box_t * b) int t_vx=((sgn_vx*b->vx+time_id%2)/2)*sgn_vx; sgn_vx=sgn(t_vx); + int coef=1;//1; + if (world_get_ctg(b->x, b->y)==CTG_WATER || world_get_ctg(b->x+b->w-1, b->y)==CTG_WATER) + coef=2; + if (frame_id%coef) + return; + if (sgn_vx) { for (int i=sgn_vx; i<=sgn_vx*t_vx; i++) @@ -74,6 +81,13 @@ static void move_y(box_t * b) { b->last_vy=b->vy; int sgn_vy=sgn(b->vy); + + int coef=1;//1; + if (world_get_ctg(b->x, b->y)==CTG_WATER || world_get_ctg(b->x+b->w-1, b->y)==CTG_WATER) + coef=2; + if (frame_id%coef) + return; + if (sgn_vy) { for (int i=sgn_vy; i<=sgn_vy*b->vy; i++) @@ -141,17 +155,21 @@ int box_move(box_t * b) int box_jump(box_t * b, int height) { - int sol=0; int sgn_vy=-1*sgn(height); if (sgn_vy) { + int sol=0, eau=0; for (int j=0; jw; j++) { int typetemp=world_get_ctg(b->x+j ,b->y+sgn_vy); - if (/*typetemp==CTG_DEATH || */typetemp==CTG_SOIL) - sol=1; + if (typetemp==CTG_SOIL) + sol++; + if (typetemp==CTG_WATER) + eau++; } if (sol) b->vy=height; + else if (eau) + b->vy+=height/2; } } \ No newline at end of file diff --git a/src/levelchanger.c b/src/levelchanger.c index b7ff98e..b19e27c 100644 --- a/src/levelchanger.c +++ b/src/levelchanger.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include @@ -32,7 +33,29 @@ static void levelchanger(int w) drect(xt+(2+wt)*choice, yt, xt+(wt+2)*choice+wt,yt+ht, C_INVERT); + char str[8]; + if (choice != 8) + { + sprintf(str, "%d", choice+1); + dtext(45,19, str, C_BLACK, C_WHITE); + } + else + { + dtext(13,19, "MODE COURSE :", C_BLACK, C_WHITE); + } + + if (get_best_time(w,choice)) + { + sprintf(str, "%d", get_best_time(w,choice)); + int i=0; + while (str[i]) + i++; + dtext(99-6*i, 53, str, C_BLACK, C_WHITE); + } + dupdate(); + + //int key=getkey_opt(GETKEY_REP_ARROWS,0).key; int key=getkey_custom(); @@ -48,6 +71,8 @@ static void levelchanger(int w) if (choice==8) { new_game(); + mario_smaller(); + mario_immunity=0; for (int i=0; i<7; i+=0) { int a=play_level(w, i); @@ -70,10 +95,14 @@ static void levelchanger(int w) } else { + new_game(); mario_smaller(); mario_immunity=0; - play_level(w, choice); + int s=play_level(w, choice); + if (s) + set_best_time(w, choice, get_time_spent()); } + } if (key==KEY_EXIT || key==KEY_MENU) @@ -191,7 +220,7 @@ int play_level(int w, int l) char lvl[4]; get_lvl_id(w, l, lvl); - dtext(57,28, lvl, C_WHITE, C_BLACK); + dtext(53,28, lvl, C_WHITE, C_BLACK); sprintf(lvl, "%d", lifes); dtext(65,54, lvl, C_WHITE, C_BLACK); dupdate(); @@ -214,7 +243,9 @@ int play_level(int w, int l) dupdate(); if (mario_dead) { - for (int i=6; mario.p.y>=0; i--) + mario_immunity=0; + int i=6; + while(mario.p.y>=0) { if (has_ticked) { @@ -222,9 +253,11 @@ int play_level(int w, int l) mario.p.y+=i; dclear(C_WHITE); world_draw(mario.p.x,mario.p.y); + mario_draw(); score_display(); dupdate(); + i--; } else sleep_ms(3,1); @@ -239,6 +272,7 @@ int play_level(int w, int l) { timer_stop(0); // TODO ajouter temps au score etc + sleep_ms(3,3000); return finish_level; } @@ -246,5 +280,6 @@ int play_level(int w, int l) else sleep_ms(3,1); } + return 0; } \ No newline at end of file diff --git a/src/mario.c b/src/mario.c index b45c532..328bb06 100755 --- a/src/mario.c +++ b/src/mario.c @@ -229,11 +229,16 @@ void mario_move() if (c->type==COIN && c->taken==0) {score_add_coin();c->taken=1;} - end_level_t* e=(end_level_t*)world_get(mario.p.x, mario.p.y); - if (e->type==END_LEVEL) + end_level_t *e1=(end_level_t*)world_get(mario.p.x, mario.p.y), *e2=(end_level_t*)world_get(mario.p.x+mario.p.w-1, mario.p.y); + if (e1->type==END_LEVEL) { finish_level=1; - score_add(400*e->bonus); + score_add(400*e1->bonus); + } + if (e2->type==END_LEVEL) + { + finish_level=1; + score_add(400*e2->bonus); } diff --git a/src/save.c b/src/save.c index fbdca3a..e15442c 100644 --- a/src/save.c +++ b/src/save.c @@ -4,37 +4,41 @@ -uint32_t level_highscores [NB_MONDES] [WORLD_RUN_ENTRY]={0}; +uint32_t level_scores [NB_MONDES] [WORLD_RUN_ENTRY]={0}; +uint32_t level_times [NB_MONDES] [WORLD_RUN_ENTRY]={0}; +uint32_t level_coins [NB_MONDES] [WORLD_RUN_ENTRY]={0}; +uint32_t level_starfrags [NB_MONDES] [WORLD_RUN_ENTRY]={0}; -uint32_t level_best_times [NB_MONDES] [WORLD_RUN_ENTRY]; uint32_t progress_status=0; // world 1 only + static uint32_t checksum1; -static uint32_t const file_size = sizeof(level_highscores)+sizeof(level_best_times)+sizeof(progress_status)+sizeof(checksum1); +static uint32_t const file_size = sizeof(level_scores)+sizeof(level_times)+sizeof(progress_status)+sizeof(checksum1); void load_save(){}; void flash_save(){}; int get_highscore(int world, int level) { - return level_highscores[world%NB_MONDES][level%WORLD_RUN_ENTRY]; + return level_scores[world%NB_MONDES][level%WORLD_RUN_ENTRY]; } void set_highscore(int world, int level, int score) { - level_highscores[world%NB_MONDES][level%WORLD_RUN_ENTRY]=score; + level_scores[world%NB_MONDES][level%WORLD_RUN_ENTRY]=score; } int get_best_time(int world, int level) { - return level_best_times[world%NB_MONDES][level%WORLD_RUN_ENTRY]; + return level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY]; } void set_best_time(int world, int level, int score) { - level_best_times[world%NB_MONDES][level%WORLD_RUN_ENTRY]=score; + if (level_times[world%NB_MONDES][level%WORLD_RUN_ENTRY]==0 || score