From 35df21af02f8af93416c2b79efce3529dec21949 Mon Sep 17 00:00:00 2001 From: KikooDX Date: Thu, 19 Mar 2020 11:39:28 +0100 Subject: [PATCH] Really too many mechanics. --- .gitignore | 1 + assets-cg/img/blue.png | Bin 0 -> 99 bytes assets-cg/img/blue_dot.png | Bin 0 -> 129 bytes assets-cg/img/bouncer.png | Bin 0 -> 99 bytes assets-cg/img/exit.png | Bin 0 -> 154 bytes assets-cg/img/ground.png | Bin 99 -> 99 bytes assets-cg/img/player.png | Bin 140 -> 137 bytes assets-cg/img/red.png | Bin 0 -> 99 bytes assets-cg/img/red_dot.png | Bin 0 -> 129 bytes assets-cg/img/water.png | Bin 0 -> 99 bytes build-cg/assets/img/ground.png.o | Bin 936 -> 936 bytes build-cg/assets/img/player.png.o | Bin 808 -> 712 bytes build-cg/map | 914 ++++++++++++++++--------------- build-cg/platform.bin | Bin 34844 -> 41924 bytes build-cg/platform.elf | Bin 48984 -> 56732 bytes build-cg/src/collide.c.o | Bin 1200 -> 1232 bytes build-cg/src/draw.c.o | Bin 2520 -> 2716 bytes build-cg/src/levels.c.o | Bin 2284 -> 5840 bytes build-cg/src/main.c.o | Bin 3456 -> 3268 bytes include/collide.h | 2 +- include/draw.h | 6 +- platform.g3a | Bin 63520 -> 70600 bytes src/collide.c | 10 +- src/draw.c | 71 +-- src/levels.c | 2 +- src/main.c | 96 ++-- 26 files changed, 564 insertions(+), 538 deletions(-) create mode 100644 .gitignore create mode 100644 assets-cg/img/blue.png create mode 100644 assets-cg/img/blue_dot.png create mode 100644 assets-cg/img/bouncer.png create mode 100644 assets-cg/img/exit.png create mode 100644 assets-cg/img/red.png create mode 100644 assets-cg/img/red_dot.png create mode 100644 assets-cg/img/water.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..76c1507 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +build-cg/* diff --git a/assets-cg/img/blue.png b/assets-cg/img/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..11dde0f60d889c6ae56d1decacc437b51c4c5198 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|WIbIRLo9le vuf+WRZ_muy&?$6wFbP0l+XkKdMg`o literal 0 HcmV?d00001 diff --git a/assets-cg/img/blue_dot.png b/assets-cg/img/blue_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..008c935999105cd308faff1b59a8ba99a343cec3 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|tUX;ELo9le zuf+WRZ_g|e!=IL-GWEOz=LHa7cvI&S2DPp^48?3m+X9k)W=Qn3F@_#$U`-R+87axI Xd78b!dpUDPpfL=du6{1-oD!M<$jT>d literal 0 HcmV?d00001 diff --git a/assets-cg/img/bouncer.png b/assets-cg/img/bouncer.png new file mode 100644 index 0000000000000000000000000000000000000000..7088b2250633e0ff909db9a5112bfbd5f5b9f714 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|WIbIRLo9le vQ!0|a&2MBn;L`alklBq_!Zg7^l7ZpKCML@_dtaXgDrE3<^>bP0l+XkKWG)*Y literal 0 HcmV?d00001 diff --git a/assets-cg/img/exit.png b/assets-cg/img/exit.png new file mode 100644 index 0000000000000000000000000000000000000000..5b55949328ec9c4107d13c5726c6519eab72f8c0 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|LOfj@Lo9le z6BY;mdKI;Vst06*b0 AkpKVy literal 0 HcmV?d00001 diff --git a/assets-cg/img/ground.png b/assets-cg/img/ground.png index cabab6f4c939516ec7a0aa0f4bf0384664846bde..731b01086d0c96c91d94e438014c4b08d5180465 100644 GIT binary patch delta 47 zcmYdJo?xlP^YzTn^A3y&i(EdhU|h`BBV{myhk>E_Ba^1U@h|EOK;Y@>=d#Wzp$P!P CRS_5f delta 47 zcmYdJo?xk!qc{8W{6?k&E}hQ;nca9LOcM+w85p)NXWH`kh;$JH5O})!xvX> diff --git a/assets-cg/img/player.png b/assets-cg/img/player.png index 23ee085c93f31b047ad01cb8e83d6a0f88c188ac..381dd51d6ddd6cfbbca1faaa17f2a8d7351f9d67 100644 GIT binary patch delta 121 zcmeBS>|~rEUc|$}#=yW3RvPmhNHG=%xjQkeJ16rJ$Z_^`aSYLznEdDe$D{RZLJY#1 zU6K+K5)l_z`Qmr=AKHF3_((4EuB4nKpC2O0la+7smt1L(lRCi=*~dAZMbFS})^QUC Y^)j*Jk68M1fyOa-y85}Sb4q9e087d!?*IS* delta 124 zcmeBV>|vZBUMj%B#=yX!lsJzaNHG=%xjQkeJ16rJ$Z_*@aSYLznEdDe$D{RZLJY#1 zT_-OcXwobAaj8~h-`aUfdD0g|lZBP<^WX3}uIBzbV9{c>FCX04P89j67<^>PbfF?3{y85}Sb4q9e09}ABjQ{`u diff --git a/assets-cg/img/red.png b/assets-cg/img/red.png new file mode 100644 index 0000000000000000000000000000000000000000..f2b5728394e5cdacb5e2b1344100a24659f2d563 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|WIbIRLo9le v|D1pDdwwI+0hi8afy{2a5~c|Tk_-$JQkk-QW_Viz6*73b`njxgN@xNAfVLWo literal 0 HcmV?d00001 diff --git a/assets-cg/img/red_dot.png b/assets-cg/img/red_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..bf848d8571914ac4888815a707cbb0e71770c9aa GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|tUX;ELo9le z|D1pDdp;wVgru4Aq*Lh&SpKAc_P;+#?bfitr-`A#xQug`njxgN@xNA9BwJ+ literal 0 HcmV?d00001 diff --git a/assets-cg/img/water.png b/assets-cg/img/water.png new file mode 100644 index 0000000000000000000000000000000000000000..0e923fecac5e34bec71a2aec1f9f5eefd720c475 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|WIbIRLo9le vzr2q7KEILafJ^7IKxQ{y3DX1vNd|_xIZVq!Cr9-I6*73b`njxgN@xNAcIg_R literal 0 HcmV?d00001 diff --git a/build-cg/assets/img/ground.png.o b/build-cg/assets/img/ground.png.o index bdc9903d1cebfb10184e23b4653553c6bc474057..f43e9e16aff83554c4207369b27b2422d6bc0212 100644 GIT binary patch literal 936 zcmb<-^>JflVq|~=Mg}b)8%coa0a(riOlmN&GO&PI0t^B{zN2s?hX6Po;2@YGX$YQ< z1R#7~1_mY$kQOLk7Qz4jks&@aH$6VRD8Do>1(_Y6ipDR_tV(5I&?~OYElErQ(j`R@ zIs?Wk%1=owNyOnaT*A^o36Oi4pbCH~9^zIgALbWiH6Z0SKq3H$fnEmd1?3N*_ZT># jVn7N6n0kPO9+(LsVCD$|xgfnzz_bgJflVq|~=Mg}b)8%coa0a(riOlmN&GO&PI0t^Dpn@8bD4gqjFz(FuW(hxiy z2|)O~3=B*hAT3b7EQ0_4BSU;{ E02Lh;_W%F@ delta 141 zcmX@Xx`J(jvSb1S2$+CL4F*;Q7BGv4L13bT$;1Ge$uf*$K+G}m0Lx@PMjix{YvO{0 zi5Da$F`59y$^|<>+5{LF7=e^5km{JcgmE^IbYN0u+%q|aNsWn#XL1jdni!K6P=zu` KH57n!FaQ8zni#48 diff --git a/build-cg/map b/build-cg/map index 5d83ea9..2e719ad 100644 --- a/build-cg/map +++ b/build-cg/map @@ -28,8 +28,6 @@ Archive member included to satisfy reference by file (symbol) build-cg/src/draw.c.o (_dclear) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) (_gint_vram) -/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) - build-cg/src/draw.c.o (_drect) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) (_dtext) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) @@ -54,6 +52,8 @@ Archive member included to satisfy reference by file (symbol) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) (_vsnprintf) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) (_gint_inth_7305) +/home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) (_drect) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) (_bopti_r5g6b5) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) @@ -103,11 +103,6 @@ Archive member included to satisfy reference by file (symbol) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o) /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) (___fpcmp_parts_d) -Allocating common symbols -Common symbol size file - -coins 0x100 build-cg/src/main.c.o - Discarded input sections .comment 0x0000000000000000 0x12 build-cg/src/collide.c.o @@ -127,7 +122,6 @@ Discarded input sections .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) - .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) @@ -137,6 +131,7 @@ Discarded input sections .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) .comment 0x0000000000000000 0x12 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) @@ -300,28 +295,35 @@ LOAD build-cg/assets/img/ground.png.o LOAD build-cg/assets/img/elevator6.png.o LOAD build-cg/assets/img/spike.png.o LOAD build-cg/assets/img/elevator8.png.o +LOAD build-cg/assets/img/bouncer.png.o LOAD build-cg/assets/img/elevator2.png.o LOAD build-cg/assets/img/elevator11.png.o LOAD build-cg/assets/img/elevator5.png.o LOAD build-cg/assets/img/elevator.png.o LOAD build-cg/assets/img/ice.png.o LOAD build-cg/assets/img/elevator12.png.o +LOAD build-cg/assets/img/blue.png.o LOAD build-cg/assets/img/elevator16.png.o LOAD build-cg/assets/img/elevator4.png.o LOAD build-cg/assets/img/elevator7.png.o +LOAD build-cg/assets/img/water.png.o +LOAD build-cg/assets/img/red.png.o LOAD build-cg/assets/img/elevator10.png.o LOAD build-cg/assets/img/player.png.o +LOAD build-cg/assets/img/exit.png.o LOAD build-cg/assets/img/elevator3.png.o +LOAD build-cg/assets/img/blue_dot.png.o LOAD build-cg/assets/img/elevator15.png.o LOAD build-cg/assets/img/elevator9.png.o +LOAD build-cg/assets/img/red_dot.png.o LOAD build-cg/assets/img/elevator14.png.o LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a 0x0000000000300000 _brom = 0x300000 - 0x000000000000864c _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) + 0x000000000000a1f4 _srom = (((SIZEOF (.text) + SIZEOF (.rodata)) + SIZEOF (.gint.drivers)) + SIZEOF (.gint.blocks)) -.text 0x0000000000300000 0x4ca0 +.text 0x0000000000300000 0x4d50 *(.pretext.entry) .pretext.entry 0x0000000000300000 0x1a4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) @@ -355,348 +357,368 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a 0x0000000000300630 _gint_exch_tlbh 0x0000000000000058 _gint_exch_tlbh_size = ABSOLUTE ((. - _gint_exch_tlbh_start)) *(.text .text.*) - .text 0x000000000030067c 0x19c build-cg/src/collide.c.o + .text 0x000000000030067c 0x1bc build-cg/src/collide.c.o 0x000000000030067c _collide 0x00000000003006f4 _collide_point 0x0000000000300722 _collide_solid - 0x0000000000300774 _collide_and_erase - .text 0x0000000000300818 0x58 build-cg/src/player.c.o - 0x0000000000300818 _jump_test - 0x0000000000300860 _set_start_pos - 0x0000000000300866 _reset_old_pos - .text 0x0000000000300870 0x1f8 build-cg/src/draw.c.o - 0x0000000000300870 _draw_player - 0x00000000003008c4 _draw_level - 0x000000000030096c _draw_level_anims - 0x00000000003009d0 _erase_tile - 0x0000000000300a24 _draw_timer - .text 0x0000000000300a68 0x4c build-cg/src/levels.c.o - 0x0000000000300a68 _set_level - .text 0x0000000000300ab4 0x14 build-cg/src/main.c.o - 0x0000000000300ab4 _callback - 0x0000000000300abc _sgn - .text.startup 0x0000000000300ac8 0x5a8 build-cg/src/main.c.o - 0x0000000000300ac8 _main - .text 0x0000000000301070 0xdc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) - 0x0000000000301070 _memcpy - 0x000000000030112a __memmove - 0x000000000030112e __memcmp - 0x0000000000301132 _memset - .text 0x000000000030114c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) - .text 0x000000000030114c 0x104 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) - 0x00000000003011b8 _gint_install - 0x0000000000301238 _gint_unload - .text 0x0000000000301250 0xf8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) - 0x0000000000301250 _utlb_addr - 0x0000000000301260 _utlb_data - 0x0000000000301270 _utlb_mapped_memory - .text 0x0000000000301348 0x2e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) - 0x00000000003015f0 _gint_panic - 0x0000000000301600 _gint_panic_set - 0x0000000000301614 _gint_exc_catch - 0x0000000000301620 _gint_exc_skip - .text 0x000000000030162c 0x5c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) - 0x000000000030162c _gint_intlevel - 0x0000000000301664 _gint_inthandler - .text 0x0000000000301688 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) - .text 0x0000000000301688 0x2c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) - 0x0000000000301688 _gint_setvbr - .text 0x00000000003016b4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) - .text 0x00000000003016b4 0x9c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) - 0x00000000003016b4 _dsize - .text 0x0000000000301750 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) - 0x0000000000301750 _dprint - .text 0x00000000003017a8 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) - 0x00000000003017a8 _dimage - 0x00000000003017d0 _dsubimage - .text 0x00000000003017e8 0x1c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) - 0x00000000003017e8 _dclear - .text 0x0000000000301804 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) - 0x0000000000301804 _dvram - 0x0000000000301830 _dvram_switch - .text 0x0000000000301850 0xc0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) - 0x0000000000301850 _drect - .text 0x0000000000301910 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) - .text 0x0000000000301910 0x3c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) - 0x0000000000301910 _dupdate - 0x0000000000301934 _dupdate_noint - .text 0x000000000030194c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o) - .text 0x000000000030194c 0x1e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) - 0x000000000030194c _bopti_render - 0x0000000000301a3c _bopti_render_clip - 0x0000000000301b04 _bopti_render_noclip - .text 0x0000000000301b30 0x3ac /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) - 0x0000000000301c88 _pollevent - 0x0000000000301dcc _waitevent - 0x0000000000301e18 _clearevents - 0x0000000000301e38 _keydown - 0x0000000000301e64 _keydown_all - 0x0000000000301ea0 _keydown_any - .text 0x0000000000301edc 0x4cc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) - 0x0000000000302164 _timer_setup - 0x00000000003021f4 _timer_delay - 0x0000000000302254 _timer_start - 0x0000000000302288 _timer_reload - 0x00000000003022a8 _timer_pause - 0x00000000003022dc _timer_stop - 0x0000000000302338 _timer_timeout - 0x0000000000302344 _timer_address - 0x0000000000302378 _timer_clear - .text 0x00000000003023a8 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) - 0x00000000003023a8 _dma_memset - .text 0x00000000003023f4 0x2d4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) - 0x0000000000302444 _r61524_win_get - 0x00000000003024fc _r61524_win_set - 0x00000000003025bc _r61524_display - .text 0x00000000003026c8 0x7c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) - 0x00000000003026c8 _strlen - 0x00000000003026d8 _strncpy - 0x00000000003026f0 _strcat - 0x0000000000302734 _strcmp - .text 0x0000000000302744 0xce4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) - 0x0000000000303140 _kprint_opt - 0x0000000000303288 _kprint - 0x0000000000303360 _kvsprint - 0x00000000003033a8 _sprintf - 0x00000000003033d0 _vsprintf - 0x00000000003033f0 _snprintf - 0x0000000000303410 _vsnprintf - .text 0x0000000000303428 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) - *fill* 0x0000000000303428 0x8 - .text 0x0000000000303430 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) - 0x0000000000303430 _bopti_r5g6b5 - 0x0000000000303480 _bopti_r5g6b5a - 0x00000000003034b0 _bopti_p8 - 0x00000000003034e0 _bopti_p4 - .text 0x0000000000303530 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) - 0x00000000003035ec _clock_freq - .text 0x00000000003035f8 0x1f0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) - 0x00000000003035f8 _getkey_opt - 0x00000000003037a0 _getkey - 0x00000000003037ac _getkey_repeat - .text 0x00000000003037e8 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) - .text 0x00000000003037e8 0x3f8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) - 0x0000000000303abc _dma_transfer - 0x0000000000303afc _dma_transfer_wait - 0x0000000000303b74 _dma_transfer_noint - .text 0x0000000000303be0 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) - .text 0x0000000000303be0 0x78 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o) - 0x0000000000303be0 ___movstr - 0x0000000000303be0 ___movmem - 0x0000000000303c14 ___movmemSI64 - 0x0000000000303c14 ___movstrSI64 - 0x0000000000303c18 ___movstrSI60 - 0x0000000000303c18 ___movmemSI60 - 0x0000000000303c1c ___movmemSI56 - 0x0000000000303c1c ___movstrSI56 - 0x0000000000303c20 ___movstrSI52 - 0x0000000000303c20 ___movmemSI52 - 0x0000000000303c24 ___movstrSI48 - 0x0000000000303c24 ___movmemSI48 - 0x0000000000303c28 ___movstrSI44 - 0x0000000000303c28 ___movmemSI44 - 0x0000000000303c2c ___movstrSI40 - 0x0000000000303c2c ___movmemSI40 - 0x0000000000303c30 ___movstrSI36 - 0x0000000000303c30 ___movmemSI36 - 0x0000000000303c34 ___movmemSI32 - 0x0000000000303c34 ___movstrSI32 - 0x0000000000303c38 ___movmemSI28 - 0x0000000000303c38 ___movstrSI28 - 0x0000000000303c3c ___movstrSI24 - 0x0000000000303c3c ___movmemSI24 - 0x0000000000303c40 ___movmemSI20 - 0x0000000000303c40 ___movstrSI20 - 0x0000000000303c44 ___movstrSI16 - 0x0000000000303c44 ___movmemSI16 - 0x0000000000303c48 ___movmemSI12 - 0x0000000000303c48 ___movstrSI12 - 0x0000000000303c4c ___movmemSI8 - 0x0000000000303c4c ___movstrSI8 - 0x0000000000303c50 ___movmemSI4 - 0x0000000000303c50 ___movstrSI4 - .text 0x0000000000303c58 0x1e0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) - 0x0000000000303c58 ___udivdi3 - .text 0x0000000000303e38 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) - 0x0000000000303e38 ___umoddi3 - .text 0x0000000000304040 0x348 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) - 0x00000000003042e4 ___adddf3 - 0x0000000000304334 ___subdf3 - .text 0x0000000000304388 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) - 0x0000000000304388 ___muldf3 - .text 0x0000000000304590 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) - 0x0000000000304590 ___nedf2 - .text 0x00000000003045e8 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o) - 0x00000000003045e8 ___gtdf2 - .text 0x0000000000304640 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) - 0x0000000000304640 ___gedf2 - .text 0x0000000000304698 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) - 0x0000000000304698 ___ltdf2 - .text 0x00000000003046f0 0x98 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) - 0x00000000003046f0 ___floatsidf - .text 0x0000000000304788 0x8c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o) - 0x0000000000304788 ___fixdfsi - .text 0x0000000000304814 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o) - *fill* 0x0000000000304814 0x4 - .text 0x0000000000304818 0x60 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o) - 0x0000000000304818 ___udiv_qrnnd_16 - .text 0x0000000000304878 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) - .text 0x0000000000304878 0x54 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) - 0x0000000000304878 ___clzsi2 - .text 0x00000000003048cc 0x240 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o) - 0x00000000003048cc ___pack_d - .text 0x0000000000304b0c 0xcc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o) - 0x0000000000304b0c ___unpack_d - .text 0x0000000000304bd8 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o) - 0x0000000000304bd8 ___fpcmp_parts_d + 0x0000000000300794 _collide_and_erase + .text 0x0000000000300838 0x58 build-cg/src/player.c.o + 0x0000000000300838 _jump_test + 0x0000000000300880 _set_start_pos + 0x0000000000300886 _reset_old_pos + .text 0x0000000000300890 0x1f8 build-cg/src/draw.c.o + 0x0000000000300890 _draw_player + 0x00000000003008a4 _erase_tile + 0x00000000003008ce _draw_level + 0x0000000000300a44 _draw_timer + .text 0x0000000000300a88 0xbc build-cg/src/levels.c.o + 0x0000000000300a88 _set_level + .text 0x0000000000300b44 0x14 build-cg/src/main.c.o + 0x0000000000300b44 _callback + 0x0000000000300b4c _sgn + .text.startup 0x0000000000300b58 0x5c4 build-cg/src/main.c.o + 0x0000000000300b58 _main + .text 0x000000000030111c 0xdc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) + 0x000000000030111c _memcpy + 0x00000000003011d6 __memmove + 0x00000000003011da __memcmp + 0x00000000003011de _memset + .text 0x00000000003011f8 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .text 0x00000000003011f8 0x104 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) + 0x0000000000301264 _gint_install + 0x00000000003012e4 _gint_unload + .text 0x00000000003012fc 0xf8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) + 0x00000000003012fc _utlb_addr + 0x000000000030130c _utlb_data + 0x000000000030131c _utlb_mapped_memory + .text 0x00000000003013f4 0x2e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + 0x000000000030169c _gint_panic + 0x00000000003016ac _gint_panic_set + 0x00000000003016c0 _gint_exc_catch + 0x00000000003016cc _gint_exc_skip + .text 0x00000000003016d8 0x5c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + 0x00000000003016d8 _gint_intlevel + 0x0000000000301710 _gint_inthandler + .text 0x0000000000301734 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) + .text 0x0000000000301734 0x2c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) + 0x0000000000301734 _gint_setvbr + .text 0x0000000000301760 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) + .text 0x0000000000301760 0x9c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + 0x0000000000301760 _dsize + .text 0x00000000003017fc 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) + 0x00000000003017fc _dprint + .text 0x0000000000301854 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) + 0x0000000000301854 _dimage + 0x000000000030187c _dsubimage + .text 0x0000000000301894 0x1c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) + 0x0000000000301894 _dclear + .text 0x00000000003018b0 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) + 0x00000000003018b0 _dvram + 0x00000000003018dc _dvram_switch + .text 0x00000000003018fc 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .text 0x00000000003018fc 0x3c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) + 0x00000000003018fc _dupdate + 0x0000000000301920 _dupdate_noint + .text 0x0000000000301938 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o) + .text 0x0000000000301938 0x1e4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) + 0x0000000000301938 _bopti_render + 0x0000000000301a28 _bopti_render_clip + 0x0000000000301af0 _bopti_render_noclip + .text 0x0000000000301b1c 0x3ac /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + 0x0000000000301c74 _pollevent + 0x0000000000301db8 _waitevent + 0x0000000000301e04 _clearevents + 0x0000000000301e24 _keydown + 0x0000000000301e50 _keydown_all + 0x0000000000301e8c _keydown_any + .text 0x0000000000301ec8 0x4cc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + 0x0000000000302150 _timer_setup + 0x00000000003021e0 _timer_delay + 0x0000000000302240 _timer_start + 0x0000000000302274 _timer_reload + 0x0000000000302294 _timer_pause + 0x00000000003022c8 _timer_stop + 0x0000000000302324 _timer_timeout + 0x0000000000302330 _timer_address + 0x0000000000302364 _timer_clear + .text 0x0000000000302394 0x4c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) + 0x0000000000302394 _dma_memset + .text 0x00000000003023e0 0x2d4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + 0x0000000000302430 _r61524_win_get + 0x00000000003024e8 _r61524_win_set + 0x00000000003025a8 _r61524_display + .text 0x00000000003026b4 0x7c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) + 0x00000000003026b4 _strlen + 0x00000000003026c4 _strncpy + 0x00000000003026dc _strcat + 0x0000000000302720 _strcmp + .text 0x0000000000302730 0xce4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + 0x000000000030312c _kprint_opt + 0x0000000000303274 _kprint + 0x000000000030334c _kvsprint + 0x0000000000303394 _sprintf + 0x00000000003033bc _vsprintf + 0x00000000003033dc _snprintf + 0x00000000003033fc _vsnprintf + .text 0x0000000000303414 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) + .text 0x0000000000303414 0xc0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + 0x0000000000303414 _drect + *fill* 0x00000000003034d4 0xc + .text 0x00000000003034e0 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) + 0x00000000003034e0 _bopti_r5g6b5 + 0x0000000000303530 _bopti_r5g6b5a + 0x0000000000303560 _bopti_p8 + 0x0000000000303590 _bopti_p4 + .text 0x00000000003035e0 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + 0x000000000030369c _clock_freq + .text 0x00000000003036a8 0x1f0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) + 0x00000000003036a8 _getkey_opt + 0x0000000000303850 _getkey + 0x000000000030385c _getkey_repeat + .text 0x0000000000303898 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .text 0x0000000000303898 0x3f8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + 0x0000000000303b6c _dma_transfer + 0x0000000000303bac _dma_transfer_wait + 0x0000000000303c24 _dma_transfer_noint + .text 0x0000000000303c90 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .text 0x0000000000303c90 0x78 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o) + 0x0000000000303c90 ___movstr + 0x0000000000303c90 ___movmem + 0x0000000000303cc4 ___movmemSI64 + 0x0000000000303cc4 ___movstrSI64 + 0x0000000000303cc8 ___movstrSI60 + 0x0000000000303cc8 ___movmemSI60 + 0x0000000000303ccc ___movmemSI56 + 0x0000000000303ccc ___movstrSI56 + 0x0000000000303cd0 ___movstrSI52 + 0x0000000000303cd0 ___movmemSI52 + 0x0000000000303cd4 ___movstrSI48 + 0x0000000000303cd4 ___movmemSI48 + 0x0000000000303cd8 ___movstrSI44 + 0x0000000000303cd8 ___movmemSI44 + 0x0000000000303cdc ___movstrSI40 + 0x0000000000303cdc ___movmemSI40 + 0x0000000000303ce0 ___movstrSI36 + 0x0000000000303ce0 ___movmemSI36 + 0x0000000000303ce4 ___movmemSI32 + 0x0000000000303ce4 ___movstrSI32 + 0x0000000000303ce8 ___movmemSI28 + 0x0000000000303ce8 ___movstrSI28 + 0x0000000000303cec ___movstrSI24 + 0x0000000000303cec ___movmemSI24 + 0x0000000000303cf0 ___movmemSI20 + 0x0000000000303cf0 ___movstrSI20 + 0x0000000000303cf4 ___movstrSI16 + 0x0000000000303cf4 ___movmemSI16 + 0x0000000000303cf8 ___movmemSI12 + 0x0000000000303cf8 ___movstrSI12 + 0x0000000000303cfc ___movmemSI8 + 0x0000000000303cfc ___movstrSI8 + 0x0000000000303d00 ___movmemSI4 + 0x0000000000303d00 ___movstrSI4 + .text 0x0000000000303d08 0x1e0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + 0x0000000000303d08 ___udivdi3 + .text 0x0000000000303ee8 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) + 0x0000000000303ee8 ___umoddi3 + .text 0x00000000003040f0 0x348 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) + 0x0000000000304394 ___adddf3 + 0x00000000003043e4 ___subdf3 + .text 0x0000000000304438 0x208 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + 0x0000000000304438 ___muldf3 + .text 0x0000000000304640 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) + 0x0000000000304640 ___nedf2 + .text 0x0000000000304698 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o) + 0x0000000000304698 ___gtdf2 + .text 0x00000000003046f0 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) + 0x00000000003046f0 ___gedf2 + .text 0x0000000000304748 0x58 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) + 0x0000000000304748 ___ltdf2 + .text 0x00000000003047a0 0x98 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + 0x00000000003047a0 ___floatsidf + .text 0x0000000000304838 0x8c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o) + 0x0000000000304838 ___fixdfsi + .text 0x00000000003048c4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o) + *fill* 0x00000000003048c4 0x4 + .text 0x00000000003048c8 0x60 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o) + 0x00000000003048c8 ___udiv_qrnnd_16 + .text 0x0000000000304928 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) + .text 0x0000000000304928 0x54 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + 0x0000000000304928 ___clzsi2 + .text 0x000000000030497c 0x240 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o) + 0x000000000030497c ___pack_d + .text 0x0000000000304bbc 0xcc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o) + 0x0000000000304bbc ___unpack_d + .text 0x0000000000304c88 0xc8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o) + 0x0000000000304c88 ___fpcmp_parts_d -.gint.blocks 0x0000000000304ca0 0x140 +.gint.blocks 0x0000000000304d50 0x140 *(.gint.blocks) - .gint.blocks 0x0000000000304ca0 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) - 0x0000000000304ca0 _gint_inth_7305 - .gint.blocks 0x0000000000304cc0 0xe0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) - 0x0000000000304cc0 _inth_tmu - 0x0000000000304d40 _inth_etmu2 - 0x0000000000304d60 _inth_etmu_help - 0x0000000000304d80 _inth_etmux - .gint.blocks 0x0000000000304da0 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) - 0x0000000000304da0 _inth_dma_te - 0x0000000000304dc0 _inth_dma_ae + .gint.blocks 0x0000000000304d50 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) + 0x0000000000304d50 _gint_inth_7305 + .gint.blocks 0x0000000000304d70 0xe0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + 0x0000000000304d70 _inth_tmu + 0x0000000000304df0 _inth_etmu2 + 0x0000000000304e10 _inth_etmu_help + 0x0000000000304e30 _inth_etmux + .gint.blocks 0x0000000000304e50 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + 0x0000000000304e50 _inth_dma_te + 0x0000000000304e70 _inth_dma_ae -.gint.drivers 0x0000000000304de0 0xc8 - 0x0000000000304de0 _bdrv = . +.gint.drivers 0x0000000000304e90 0xc8 + 0x0000000000304e90 _bdrv = . *(.gint.drivers.0) *(.gint.drivers.1) .gint.drivers.1 - 0x0000000000304de0 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) - 0x0000000000304de0 _drv_cpg + 0x0000000000304e90 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + 0x0000000000304e90 _drv_cpg *(.gint.drivers.2) .gint.drivers.2 - 0x0000000000304e08 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) - 0x0000000000304e08 _drv_tmu + 0x0000000000304eb8 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + 0x0000000000304eb8 _drv_tmu .gint.drivers.2 - 0x0000000000304e30 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) - 0x0000000000304e30 _drv_dma0 + 0x0000000000304ee0 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + 0x0000000000304ee0 _drv_dma0 *(.gint.drivers.3) *(.gint.drivers.4) .gint.drivers.4 - 0x0000000000304e58 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) - 0x0000000000304e58 _drv_keysc + 0x0000000000304f08 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + 0x0000000000304f08 _drv_keysc *(.gint.drivers.5) .gint.drivers.5 - 0x0000000000304e80 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) - 0x0000000000304e80 _drv_r61524 + 0x0000000000304f30 0x28 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + 0x0000000000304f30 _drv_r61524 *(.gint.drivers.6) - 0x0000000000304ea8 _edrv = . + 0x0000000000304f58 _edrv = . -.rodata 0x0000000000304ea8 0x37a4 +.rodata 0x0000000000304f58 0x529c *(.rodata.4) *(.rodata .rodata.*) .rodata.str1.4 - 0x0000000000304ea8 0x8 build-cg/src/draw.c.o + 0x0000000000304f58 0x8 build-cg/src/draw.c.o .rodata.str1.4 - 0x0000000000304eb0 0x59d build-cg/src/levels.c.o - *fill* 0x000000000030544d 0x3 - .rodata 0x0000000000305450 0x208 build-cg/assets/img/elevator13.png.o - 0x0000000000305450 _img_elevator13 - 0x0000000000305658 _img_elevator13_end - .rodata 0x0000000000305658 0x208 build-cg/assets/img/elevator1.png.o - 0x0000000000305658 _img_elevator1 - 0x0000000000305860 _img_elevator1_end - .rodata 0x0000000000305860 0x208 build-cg/assets/img/ground.png.o - 0x0000000000305860 _img_ground - 0x0000000000305a68 _img_ground_end - .rodata 0x0000000000305a68 0x208 build-cg/assets/img/elevator6.png.o - 0x0000000000305a68 _img_elevator6 - 0x0000000000305c70 _img_elevator6_end - .rodata 0x0000000000305c70 0x208 build-cg/assets/img/spike.png.o - 0x0000000000305c70 _img_spike - 0x0000000000305e78 _img_spike_end - .rodata 0x0000000000305e78 0x208 build-cg/assets/img/elevator8.png.o - 0x0000000000305e78 _img_elevator8 - 0x0000000000306080 _img_elevator8_end - .rodata 0x0000000000306080 0x208 build-cg/assets/img/elevator2.png.o - 0x0000000000306080 _img_elevator2 - 0x0000000000306288 _img_elevator2_end - .rodata 0x0000000000306288 0x208 build-cg/assets/img/elevator11.png.o - 0x0000000000306288 _img_elevator11 - 0x0000000000306490 _img_elevator11_end - .rodata 0x0000000000306490 0x208 build-cg/assets/img/elevator5.png.o - 0x0000000000306490 _img_elevator5 - 0x0000000000306698 _img_elevator5_end - .rodata 0x0000000000306698 0x208 build-cg/assets/img/elevator.png.o - 0x0000000000306698 _img_elevator - 0x00000000003068a0 _img_elevator_end - .rodata 0x00000000003068a0 0x108 build-cg/assets/img/ice.png.o - 0x00000000003068a0 _img_ice - 0x00000000003069a8 _img_ice_end - .rodata 0x00000000003069a8 0x208 build-cg/assets/img/elevator12.png.o - 0x00000000003069a8 _img_elevator12 - 0x0000000000306bb0 _img_elevator12_end - .rodata 0x0000000000306bb0 0x208 build-cg/assets/img/elevator16.png.o - 0x0000000000306bb0 _img_elevator16 - 0x0000000000306db8 _img_elevator16_end - .rodata 0x0000000000306db8 0x208 build-cg/assets/img/elevator4.png.o - 0x0000000000306db8 _img_elevator4 - 0x0000000000306fc0 _img_elevator4_end - .rodata 0x0000000000306fc0 0x208 build-cg/assets/img/elevator7.png.o - 0x0000000000306fc0 _img_elevator7 - 0x00000000003071c8 _img_elevator7_end - .rodata 0x00000000003071c8 0x208 build-cg/assets/img/elevator10.png.o - 0x00000000003071c8 _img_elevator10 - 0x00000000003073d0 _img_elevator10_end - .rodata 0x00000000003073d0 0x188 build-cg/assets/img/player.png.o - 0x00000000003073d0 _img_player - 0x0000000000307558 _img_player_end - .rodata 0x0000000000307558 0x208 build-cg/assets/img/elevator3.png.o - 0x0000000000307558 _img_elevator3 - 0x0000000000307760 _img_elevator3_end - .rodata 0x0000000000307760 0x208 build-cg/assets/img/elevator15.png.o - 0x0000000000307760 _img_elevator15 - 0x0000000000307968 _img_elevator15_end - .rodata 0x0000000000307968 0x208 build-cg/assets/img/elevator9.png.o - 0x0000000000307968 _img_elevator9 - 0x0000000000307b70 _img_elevator9_end - .rodata 0x0000000000307b70 0x208 build-cg/assets/img/elevator14.png.o - 0x0000000000307b70 _img_elevator14 - 0x0000000000307d78 _img_elevator14_end + 0x0000000000304f60 0x12bd build-cg/src/levels.c.o + *fill* 0x000000000030621d 0x3 + .rodata 0x0000000000306220 0x208 build-cg/assets/img/elevator13.png.o + 0x0000000000306220 _img_elevator13 + 0x0000000000306428 _img_elevator13_end + .rodata 0x0000000000306428 0x208 build-cg/assets/img/elevator1.png.o + 0x0000000000306428 _img_elevator1 + 0x0000000000306630 _img_elevator1_end + .rodata 0x0000000000306630 0x208 build-cg/assets/img/ground.png.o + 0x0000000000306630 _img_ground + 0x0000000000306838 _img_ground_end + .rodata 0x0000000000306838 0x208 build-cg/assets/img/elevator6.png.o + 0x0000000000306838 _img_elevator6 + 0x0000000000306a40 _img_elevator6_end + .rodata 0x0000000000306a40 0x208 build-cg/assets/img/spike.png.o + 0x0000000000306a40 _img_spike + 0x0000000000306c48 _img_spike_end + .rodata 0x0000000000306c48 0x208 build-cg/assets/img/elevator8.png.o + 0x0000000000306c48 _img_elevator8 + 0x0000000000306e50 _img_elevator8_end + .rodata 0x0000000000306e50 0x208 build-cg/assets/img/bouncer.png.o + 0x0000000000306e50 _img_bouncer + 0x0000000000307058 _img_bouncer_end + .rodata 0x0000000000307058 0x208 build-cg/assets/img/elevator2.png.o + 0x0000000000307058 _img_elevator2 + 0x0000000000307260 _img_elevator2_end + .rodata 0x0000000000307260 0x208 build-cg/assets/img/elevator11.png.o + 0x0000000000307260 _img_elevator11 + 0x0000000000307468 _img_elevator11_end + .rodata 0x0000000000307468 0x208 build-cg/assets/img/elevator5.png.o + 0x0000000000307468 _img_elevator5 + 0x0000000000307670 _img_elevator5_end + .rodata 0x0000000000307670 0x208 build-cg/assets/img/elevator.png.o + 0x0000000000307670 _img_elevator + 0x0000000000307878 _img_elevator_end + .rodata 0x0000000000307878 0x108 build-cg/assets/img/ice.png.o + 0x0000000000307878 _img_ice + 0x0000000000307980 _img_ice_end + .rodata 0x0000000000307980 0x208 build-cg/assets/img/elevator12.png.o + 0x0000000000307980 _img_elevator12 + 0x0000000000307b88 _img_elevator12_end + .rodata 0x0000000000307b88 0x208 build-cg/assets/img/blue.png.o + 0x0000000000307b88 _img_blue + 0x0000000000307d90 _img_blue_end + .rodata 0x0000000000307d90 0x208 build-cg/assets/img/elevator16.png.o + 0x0000000000307d90 _img_elevator16 + 0x0000000000307f98 _img_elevator16_end + .rodata 0x0000000000307f98 0x208 build-cg/assets/img/elevator4.png.o + 0x0000000000307f98 _img_elevator4 + 0x00000000003081a0 _img_elevator4_end + .rodata 0x00000000003081a0 0x208 build-cg/assets/img/elevator7.png.o + 0x00000000003081a0 _img_elevator7 + 0x00000000003083a8 _img_elevator7_end + .rodata 0x00000000003083a8 0x208 build-cg/assets/img/water.png.o + 0x00000000003083a8 _img_water + 0x00000000003085b0 _img_water_end + .rodata 0x00000000003085b0 0x208 build-cg/assets/img/red.png.o + 0x00000000003085b0 _img_red + 0x00000000003087b8 _img_red_end + .rodata 0x00000000003087b8 0x208 build-cg/assets/img/elevator10.png.o + 0x00000000003087b8 _img_elevator10 + 0x00000000003089c0 _img_elevator10_end + .rodata 0x00000000003089c0 0x128 build-cg/assets/img/player.png.o + 0x00000000003089c0 _img_player + 0x0000000000308ae8 _img_player_end + .rodata 0x0000000000308ae8 0x208 build-cg/assets/img/exit.png.o + 0x0000000000308ae8 _img_exit + 0x0000000000308cf0 _img_exit_end + .rodata 0x0000000000308cf0 0x208 build-cg/assets/img/elevator3.png.o + 0x0000000000308cf0 _img_elevator3 + 0x0000000000308ef8 _img_elevator3_end + .rodata 0x0000000000308ef8 0x208 build-cg/assets/img/blue_dot.png.o + 0x0000000000308ef8 _img_blue_dot + 0x0000000000309100 _img_blue_dot_end + .rodata 0x0000000000309100 0x208 build-cg/assets/img/elevator15.png.o + 0x0000000000309100 _img_elevator15 + 0x0000000000309308 _img_elevator15_end + .rodata 0x0000000000309308 0x208 build-cg/assets/img/elevator9.png.o + 0x0000000000309308 _img_elevator9 + 0x0000000000309510 _img_elevator9_end + .rodata 0x0000000000309510 0x208 build-cg/assets/img/red_dot.png.o + 0x0000000000309510 _img_red_dot + 0x0000000000309718 _img_red_dot_end + .rodata 0x0000000000309718 0x208 build-cg/assets/img/elevator14.png.o + 0x0000000000309718 _img_elevator14 + 0x0000000000309920 _img_elevator14_end .rodata.str1.4 - 0x0000000000307d78 0x288 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + 0x0000000000309920 0x288 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) 0x28c (size before relaxing) - .rodata 0x0000000000308000 0x18 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .rodata 0x0000000000309ba8 0x18 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) .rodata.str1.4 - 0x0000000000308018 0x6 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) - *fill* 0x000000000030801e 0x2 + 0x0000000000309bc0 0x6 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + *fill* 0x0000000000309bc6 0x2 .rodata.str1.4 - 0x0000000000308020 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) - .rodata 0x0000000000308024 0x49c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o) - 0x0000000000308024 _gint_font8x9 - 0x00000000003084c0 _gint_font8x9_end + 0x0000000000309bc8 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + .rodata 0x0000000000309bcc 0x49c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(font8x9.png.o) + 0x0000000000309bcc _gint_font8x9 + 0x000000000030a068 _gint_font8x9_end .rodata.str1.4 - 0x00000000003084c0 0x7 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) - *fill* 0x00000000003084c7 0x1 + 0x000000000030a068 0x7 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + *fill* 0x000000000030a06f 0x1 .rodata.str1.4 - 0x00000000003084c8 0x31 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) - *fill* 0x00000000003084f9 0x3 + 0x000000000030a070 0x31 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + *fill* 0x000000000030a0a1 0x3 .rodata.str1.4 - 0x00000000003084fc 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) - .rodata 0x0000000000308500 0x30 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + 0x000000000030a0a4 0x4 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + .rodata 0x000000000030a0a8 0x30 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) .rodata.str1.4 - 0x0000000000308530 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + 0x000000000030a0d8 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) 0x5 (size before relaxing) - .rodata 0x0000000000308538 0x14 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o) - 0x0000000000308538 ___thenan_df - .rodata 0x000000000030854c 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) - 0x000000000030854c ___clz_tab + .rodata 0x000000000030a0e0 0x14 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o) + 0x000000000030a0e0 ___thenan_df + .rodata 0x000000000030a0f4 0x100 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) + 0x000000000030a0f4 ___clz_tab -.rela.dyn 0x000000000030864c 0x0 +.rela.dyn 0x000000000030a1f4 0x0 .rela.pretext.entry - 0x000000000030864c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) - .rela.text 0x000000000030864c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) - .rela.pretext 0x000000000030864c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + 0x000000000030a1f4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .rela.text 0x000000000030a1f4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .rela.pretext 0x000000000030a1f4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) 0x0000000008102000 . = ORIGIN (ram) -.bss 0x0000000008102000 0x250 +.bss 0x0000000008102000 0x150 0x0000000008102000 _rbss = . *(.bss COMMON) .bss 0x0000000008102000 0x0 build-cg/src/collide.c.o @@ -704,152 +726,150 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a .bss 0x0000000008102000 0x0 build-cg/src/draw.c.o .bss 0x0000000008102000 0x0 build-cg/src/levels.c.o .bss 0x0000000008102000 0x0 build-cg/src/main.c.o - COMMON 0x0000000008102000 0x100 build-cg/src/main.c.o - 0x0000000008102000 _coins - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o) - .bss 0x0000000008102100 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) - .bss 0x0000000008102100 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) - .bss 0x0000000008102124 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) - .bss 0x0000000008102124 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) - .bss 0x0000000008102124 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) - .bss 0x0000000008102124 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) - .bss 0x0000000008102124 0x114 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) - .bss 0x0000000008102238 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) - .bss 0x0000000008102238 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) - .bss 0x0000000008102238 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) - .bss 0x0000000008102238 0xc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o) - .bss 0x0000000008102244 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o) - 0x0000000008102250 . = ALIGN (0x10) - *fill* 0x0000000008102244 0xc - 0x0000000000000250 _sbss = SIZEOF (.bss) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o) + .bss 0x0000000008102000 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) + .bss 0x0000000008102000 0x24 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + .bss 0x0000000008102024 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + .bss 0x0000000008102024 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) + .bss 0x0000000008102024 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + .bss 0x0000000008102024 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) + .bss 0x0000000008102024 0x114 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + .bss 0x0000000008102138 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) + .bss 0x0000000008102138 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + .bss 0x0000000008102138 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) + .bss 0x0000000008102138 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + .bss 0x0000000008102138 0xc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o) + .bss 0x0000000008102144 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o) + 0x0000000008102150 . = ALIGN (0x10) + *fill* 0x0000000008102144 0xc + 0x0000000000000150 _sbss = SIZEOF (.bss) -.data 0x0000000008102250 0xd0 load address 0x000000000030864c - 0x000000000030864c _ldata = LOADADDR (.data) - 0x0000000008102250 _rdata = . +.data 0x0000000008102150 0xd0 load address 0x000000000030a1f4 + 0x000000000030a1f4 _ldata = LOADADDR (.data) + 0x0000000008102150 _rdata = . *(.data .data.*) - .data 0x0000000008102250 0x0 build-cg/src/collide.c.o - .data 0x0000000008102250 0x0 build-cg/src/player.c.o - .data 0x0000000008102250 0x40 build-cg/src/draw.c.o - 0x0000000008102250 _ani_elevator - .data 0x0000000008102290 0x0 build-cg/src/levels.c.o - .data 0x0000000008102290 0x0 build-cg/src/main.c.o - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) - .data 0x0000000008102290 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) - .data 0x0000000008102290 0xc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) - 0x0000000008102290 _gint_vram - .data 0x000000000810229c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) - .data 0x000000000810229c 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) - 0x000000000810229c _topti_font - 0x00000000081022a0 _gint_default_font - .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) - .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o) - .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) - .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) - .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) - .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) - .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) - .data 0x00000000081022a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) - .data 0x00000000081022a4 0x68 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) - 0x00000000081022a4 _kprint_formatters - .data 0x000000000810230c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) - .data 0x000000000810230c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) - .data 0x000000000810230c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) - .data 0x000000000810230c 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o) - .data 0x0000000008102314 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o) - 0x0000000008102320 . = ALIGN (0x10) - *fill* 0x0000000008102314 0xc + .data 0x0000000008102150 0x0 build-cg/src/collide.c.o + .data 0x0000000008102150 0x0 build-cg/src/player.c.o + .data 0x0000000008102150 0x40 build-cg/src/draw.c.o + 0x0000000008102150 _ani_elevator + .data 0x0000000008102190 0x0 build-cg/src/levels.c.o + .data 0x0000000008102190 0x0 build-cg/src/main.c.o + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memory.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(start.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(mmu.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(gint.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.s.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(vbr.s.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dprint.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dimage.c.o) + .data 0x0000000008102190 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dclear.c.o) + .data 0x0000000008102190 0xc /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dvram.c.o) + 0x0000000008102190 _gint_vram + .data 0x000000000810219c 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti.c.o) + 0x000000000810219c _topti_font + 0x00000000081021a0 _gint_default_font + .data 0x00000000081021a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dupdate.c.o) + .data 0x00000000081021a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(topti-asm.s.o) + .data 0x00000000081021a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti.c.o) + .data 0x00000000081021a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(keysc.c.o) + .data 0x00000000081021a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(tmu.c.o) + .data 0x00000000081021a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) + .data 0x00000000081021a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(r61524.c.o) + .data 0x00000000081021a4 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(string.c.o) + .data 0x00000000081021a4 0x68 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(stdio.c.o) + 0x00000000081021a4 _kprint_formatters + .data 0x000000000810220c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.S.o) + .data 0x000000000810220c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(drect.c.o) + .data 0x000000000810220c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(bopti-asm.s.o) + .data 0x000000000810220c 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(cpg.c.o) + .data 0x000000000810220c 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(getkey.c.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(dma.c.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(inth.s.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_movmem.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udivdi3.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_umoddi3.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_addsub_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_mul_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ne_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_gt_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_ge_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_lt_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_si_to_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_df_to_si.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_thenan_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_udiv_qrnnd_16.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clz.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_clzsi2.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_pack_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_unpack_df.o) + .data 0x0000000008102214 0x0 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a(_fpcmp_parts_df.o) + 0x0000000008102220 . = ALIGN (0x10) + *fill* 0x0000000008102214 0xc -.data.4 0x0000000008102320 0x0 load address 0x000000000030871c +.data.4 0x0000000008102220 0x0 load address 0x000000000030a2c4 *(.data.4) - 0x0000000008102320 . = ALIGN (0x10) + 0x0000000008102220 . = ALIGN (0x10) 0x00000000000000d0 _sdata = (SIZEOF (.data) + SIZEOF (.data.4)) 0x00000000e5200000 . = ORIGIN (ilram) -.ilram 0x00000000e5200000 0x20 load address 0x000000000030871c - 0x000000000030871c _lilram = LOADADDR (.ilram) +.ilram 0x00000000e5200000 0x20 load address 0x000000000030a2c4 + 0x000000000030a2c4 _lilram = LOADADDR (.ilram) 0x00000000e5200000 _rilram = . *(.ilram) .ilram 0x00000000e5200000 0x20 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(memset.c.o) 0x00000000e5200020 . = ALIGN (0x10) 0x00000000e5007000 . = ORIGIN (xram) -.xram 0x00000000e5007000 0x0 load address 0x000000000030873c - 0x000000000030873c _lxram = LOADADDR (.xram) +.xram 0x00000000e5007000 0x0 load address 0x000000000030a2e4 + 0x000000000030a2e4 _lxram = LOADADDR (.xram) 0x00000000e5007000 _rxram = . *(.xram) 0x00000000e5007000 . = ALIGN (0x10) 0x00000000e5017000 . = ORIGIN (yram) -.yram 0x00000000e5017000 0x0 load address 0x000000000030873c - 0x000000000030873c _lyram = LOADADDR (.yram) +.yram 0x00000000e5017000 0x0 load address 0x000000000030a2e4 + 0x000000000030a2e4 _lyram = LOADADDR (.yram) 0x00000000e5017000 _ryram = . *(.yram) 0x00000000e5017000 . = ALIGN (0x10) @@ -859,8 +879,8 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a 0x000000008c15ff00 _gint_vbr = (ORIGIN (vbr) - 0x100) 0x000000008c161400 . = ORIGIN (rram) -.gint.data 0x000000008c161400 0xe0 load address 0x000000000030873c - 0x000000000030873c _lgdata = LOADADDR (.gint.data) +.gint.data 0x000000008c161400 0xe0 load address 0x000000000030a2e4 + 0x000000000030a2e4 _lgdata = LOADADDR (.gint.data) 0x000000008c161400 _rgdata = . *(.gint.data .gint.data.*) .gint.data 0x000000008c161400 0x8 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(exch.c.o) @@ -878,7 +898,7 @@ LOAD /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/m4-nofpu/libgcc.a *fill* 0x000000008c1614d8 0x8 0x00000000000000e0 _sgdata = SIZEOF (.gint.data) -.gint.bss 0x000000008c1614e0 0x300 load address 0x000000000030881c +.gint.bss 0x000000008c1614e0 0x300 load address 0x000000000030a3c4 *(.gint.bss .gint.bss.*) .gint.bss 0x000000008c1614e0 0x1c /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(setup.c.o) .gint.bss 0x000000008c1614fc 0x40 /home/user/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/libgint-cg.a(hardware.c.o) diff --git a/build-cg/platform.bin b/build-cg/platform.bin index f62de9597681a8af98723f4276c917027932f3eb..5eac947296d575700693bc53cbe12a9a0b399c01 100755 GIT binary patch delta 9798 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 cOdzDlgCa8z^Dx7^8^Q* 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 T-*6obrwwLRcYTD0L_TAv^PQW@jFelzKnv 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 E02SBIs{jB1 diff --git a/build-cg/src/collide.c.o b/build-cg/src/collide.c.o index 4f556a3c3a61b92485530055694b70f5def093f2..6cc3b7b00833fb5a8e37f005d04d7963342cee29 100644 GIT binary patch delta 269 zcmdnMd4Y3+GGoR>6?aDNi8%%J>2>5gbtayP^CqO`@S zlT(^~xL-3WaP&(g?0aqi67k_qX$JBIfc!WlKKt`J81MCe1&-`p3H$uja=vAM%lel2 zje$Gk8v`c;5a_pM1nW=BOx9nP<*dI=f3h{B10(n38phAOMM4Y=j6fAeKuThA4O5;J zqX+{78%PKU7`HGmu*29pCbKX%Gwzw(!K}o@%rSWlvpVC4$ydPSA26xHqQ=C;GTDbk WopHxq)+nGNZ>t6?aDdi8%#6&kgjaWjgCG%L>-tmYuAB><*v5k`MO_Mg@+3frP&2 zacP@V7yEFhOa}7VpVz^7Fa9fVWOOC;`K#r8%l?-2E%O@#cgDBL9*n_^{FCP}e&!7l zVqjooU|=u;;vbXeFy%=xd|_Z<0|@~E;}ix4b{KocWEJLS#yOK$Fe@=Jy_kH4S)K91 m*Z03`%6(ae}=xoz)Qr7zgt4oFNe zL(L_#Zmwwjpb0U?Xkt?1jM;~MSTu3&V|8g3NsL9Ro$WzTdd_oC&*{S8=n$vkV7qY8iMqg0zK&cC4%x#58mLIBqS=(nc~s1RnvPq8$qDo zls{9)TGd3n!mtKg6=Bj$FmsF=W=Bu)BqUvI1p=!K6m<#0mx#`?XIbRMm=W?-8 z>BWn8SFC5(B5%3-(pr0cY^|$)>F1lOu0HMr*NSUu1aa%y)-@P{Wzy0=c<$JD-bEpv zY7sNh>=LA!M>L>Ld;@C5-Xvx&{e`*FCpJKx(hG6#Vll_!h@9NH{dEV;Cytg&rr=BNtUY`ExKfx!(@2Esab~w?RY!B zWi_ZJNm>Hf+S=`B{hxnZ)ZAvZM*)Th1|DxV4UawB(R|!&H(URE!1f;83tRUKUG^01 zPXJ{6-zf+sJ0y3OGF*mSuGngI`FM5Irz$U+816u>#oDR(ccVUuL(ePhWc;5}xW76- zzcWn#B*OuQXBmE-;mZtv!0@LGf5Gr|hHv6pzC_z8Wj#MI{i_WB&hW!x=4gH)pHHrV z>2GJ4^gD&B`z{FB>y48#6N-Gc_ACH(O8sQ4YFsQwI~ zp6bs58mPX9M;+A<01hacEUuC2y#NQP#_yz_YFv90)wuRURO16XrL#guPqp;9i zlI=~jJ>Mz&kyx~lc%*+&Y4QD#q9WSKD4TK>?#R;SCG|M$z4j~;U1E?;4UsP b;qdR#P78@e3SNnYcXs(Q@)+q*itP6Ah_&2wNXo8DavVOPKL*EO+e%uC##dZ4ph@ z2NzN@7feWa8GFJkzG2k(Onfle8+~a^mZ-3G>&)V&A)UrX{GEI6X?u^p7=PjRd_U*> z&hLKjx%Zw+YGnKs&cZ<{I5>s6qQlyQ+zcKqqYrp!5LY}?;>K(!;85agmQ=BSakX_1 zW+ug!rN^0uM1Fc$&H4G{qpVe4&sf7BC-Q18RUJ5?6#S=W3%UY+wxCrse#Dj8VR7RQ zh&S$o_|4BCekW$dyP58QWAlukPZe(+^L}!@f9i5NdG+L8(%F8sHSJtIm5#6WE!&57 z*DQlOAKLH3m0w8p`9ic1Da;k#D<}nWp7f=)2lMOF)}>sw@%?=Gw*2H6FScZPRKJb! z%l7Rbhj!8HR(L&;-!7=RY}NK3@)oyK>5po0WolB~xY;G%aN2aA=r@br?{0S8YWl(M z9lzdj))sJ}(|6ZuNX_Xl6Zr{V&6#{Y{HM$E`SwAYbdTO^ayGbM?|-Xz`F63tbHuyX zS<`;A$vMt-1ROr^Kd^&CN_E@_v5lFTcu24P z|F*peq1Wk70E`X~pXuovop|kJ&ye62oc~_9^bA(R;jfh`Ri@_?02%+vflyN>ZLpT% zI%KQSccDeE*G6;fy69xMk6~i_0v?|m^S#XYIfl8AR5fF7!y0MAhE0dP<~ z2=FY`UV!7e7UIiMRk{d5T#f1NELAZ%A_=PefeL~q!;&h2a4{Z7ULZi`xC9Rfp@nEv z#wYYY1zwl-e*@iX(JP1dq!hT8S{%h+qJ0`cEji659=N{Rd@_dX3uM0_*JSMN7F-iL z2bErfv?mPhBLGl`_XBqDAoa*xTF+I{htd+kpUR+XNuE%m-TI)GM{3a^^~m^$(c=9f zVIkLnTX88!4m~WTUa+Jw_dGKBE|c#NsYg5$uK12se~;6zVIK`riv)fSD)Z`gktfK2 H5nA5gkF}nd diff --git a/build-cg/src/levels.c.o b/build-cg/src/levels.c.o index 36b0892018c42b4822001faaf94025bd062ff0f8..fe8069dfc5c952201e30715c638a357d7c2d2d56 100644 GIT binary patch literal 5840 zcmeHLO^91n6h4_wf6^a2lbOLqtp=4kjpq4Ms-U=t9by$kgu$(2G7Y$xu_XzKUFpJ2 z7s61axKQZAg$pGvT)3!ES8hd^or}SpQ1AzZf(!l5xqs)qyu3^srn=~1-o5AE@0@eb z&%HNq-g}K#UnkQDD(x+_4-9{S#_aa7;SLoSzPr^Z{IvKm6~!}Y3Ohvm zZW8UkPIT~nqT*XbN9sh!%0$PBXl|#PN6}cSR>wloeJndSQ|BdSO4`n=UKItVTmdnd z*;K2U(=sWTxY6kZZ;bpNVvQ&ovz~Lc1rmppFB)?^diFE;4(@I+rNgYTxoXU2V5uoT zl$`ldlF2RKUe-71h9Bko>cvKwk$n5)yS(`c#Y~6UN+^3^8^&fFcO3Dq5n`uJeEks$ z*hpwHarb%2sqj6huTPE*OUGfchC3T+OlKmE=>w%Pb3lWp#>{%-v4FTbnVCF2b7KTe zzg{|Uhy={-oD97%j=54dFCf$9C=d9i^YK_IP;TW=2vb<|U`XMCVslo-Z$-f9;La<>#U^QOqZLg#5R=S^DR9jqXc) z*Ta`G`3n*l&xVnJ`%~is7$3HCH%i9dl9QQZW~1G2Z*-$|TI;rZYcis>&GzQ{rOQ@s zi|CN^@gsbzbNt7O|3vZE75|yyKUe%0ivLRSUn~9_&qv+Mo4sa>qHeEa`nMg|X>T;6 zUi;l1MHiaACPl4om!i%^9VI!n>|#m&w3J3SlEZo4uBIabag6Ms>?A)IMk?oVLI zeBDehUPAu?o`ZN;pRuEOPT4WaCiI)_UFY)p6ebSgnIu<(4C|c1!vuS!Zw)IgugiGd z_Az?U!k1{U6+E$wduIGBE!+gZg@=9NSlHei9{zsod;`1qI+~Ms9I-8?c|2O~PmEt- Iz>>)Q3y(1)cK`qY delta 316 zcmcbh`$lkrQXG2>0|SE~g9(siV9;RTV&I%4k?3rw(94|?T$Ey{(8)bX&`_b9XBz)i zjtiU)+6ABs>H?ybP$8VNsw)x%9bhNRyP=Y1)nv-1(WNtgK{njMJcLi{<1!Cr)iA zvz?!6FbY}Gst`hH*1_n&l_fxE!b2=6n>1FGX;MLm=cRHs)Cjxn;$*baS|@ISO5t2T zKihc{07f4&0dS@Zkmgn8+y9j7l(U$)ksosXr6vHA(6(1cN9bi!`mHI{Z}QKRwbZ8G1LLA;Bld7Y)wuN3M%nXXmzD2o2f zp+8TwYj5IN-K64-@7iNm7_Br<;x?)y`#Wwa>U3{YJ7C&ofbYP`+-d(Go%K@y>!lx) z_9|J%mi_0&lkX%UAIJMkkOpoX{XT>7AM|AGYcG{gwWqQ5(>!|9;c5Fv_2~JdW!yv-`eByvph80!q{Jq_JyN2>PQ3Zs2b7 zBW+@gXt#P`{z>f$R>=yrIM5$$J=e7=`qM7f&{_%x#tr&qz#MqfBjQ{>L*=P0&&(#_ z=?lxil&yfJ<`fnA0ccK7TWatQsw3(fwXH;U3S|?mH52ejh45@T#7DU~Plos{IMatV zSgdvYlh4FEhueY_x6?*5P4TZK+2(skSIvsPOy}KEi+FcScNLD{%Md1c`}MLTn}k=o ztlxO5K9Kciec5B#fvh(RbbnT8E#2o76|;b*V`h8pq%H-*7pL(CllwkdnSzcPZd|D2 z&pfxDcx2%bmNw}7m9gDkU98cd7j5KDiZZIv%5Koa_JStyuyj&Wn{c&0@z8=+stiGk zm9k~wK9R?^dUfa2vFAbaYI$r7G}O=Fj-n2}P5l(IpeemQrT5C3EY4W*vJuACiZbg* zBER^+-%oD)UB?X~z1Semoxp(=;fCJ&*8@Y*g^B|giS+S<2V0E|k3ZSjX#9ey#nik( zvp@>}hB8>cRgfZ3ZuoEHxI#9MD#eCm!z+Qj9B0*e4Rw`h4+pVr76*fje^$m#GX8lP zx5@Ys8UMPB_sY0W?NpA5(W7D zoPXGtp9>B5445+CmlqWwTP1g>NJac*!FckLbY z`MeyN7J(}?h#Xu4!~P*xm=B?8X~rGkTzt?SLgi3jfMkyn0IKqdr7i>LB>W*jwS=z# z=p~#4*d*cW09z!CXICR(yw9}~{uJOr39kY?B;mUN1_|E-*qXV&RAVJJ zPZWJqy#%mL(w{EIqB>XfNA*hpM$&n`m~+(|#hk0&Eab!#I_?jefU-9kl0D@<94J( z51+tXJDeY-As-{`LV+5;|E9MGbxQX|d#d*&V>p)O@#pfG6}iTV%YKA-Q(jK=uy(+T zAF^F`=m3h&8qu0r6R~NjUkxNimRVv`g(oAT?r(G%bE5dKEX2 Jm*ys?_iy_X*4_XB literal 3456 zcma)8e@q+K9sizv2AiX4zz}XF>Dft3O;_0|L0w5`ZBo+Eq-zH??V3e(4RaXbzQ2ee?)avb=st!*U4;ID%n{YGo?cfN1QB^#=g&Y z&nCA_+moK}^LgL*zVG|}zR!E`+K#86WK0Yc8v_p_UNyjdjl2q)3o~3$0k$l2Uo~(U zXs^nwj6sG04s4#$4C6WJdB^jctKj*>llEL$EPHn2gmOah@)Mu!QxCZK8cCh_U83Xl zQNA`6;!PQN{b(DPC5p)m_TeoJ75TEQgPg@(=_Ir(u@7S0?6ThC;a;j4uQ zMYZcD?(@{&Ax@QqL zyxGS|_SVV)v*HP<(&R{oj}wy)>+!1HRafx@t}6_f~yXLCmi<*2a zMR)#=o4Wont-k!%jjl1~OnDYkQ+<=6q@;>!q7{|!=q1q3Q!p)-3HH<^=B17_Cp-mp zxDOx2>=^gL7&E=tc_>?{yvf@aAvH$M{lZx8C9Mi#au*k0aaeKIQtqV-qgd}z|I#i} zgIe6xlLO_De~Huty*c~M1C!e-mDh0XyR^EvvNrtgE?VIO{gW-F3X|&Rvk;!)?S(qy z-in+X(e~C)r#!oE@8K+}7!_JAY|5@{tvkk?X$0HEd#!b-P3yGtE54-;_gMj3S3Z()+q$lPaFwrh$OSX8(#2SRO8;jC~jOKxI~aR2OSu%)-o zH_zq3HhWSy_eRo8$z@$+;Jf!K*8CRX>4y0R;*Gb@u>#)mITLSRb?ywgr*kaW<|@I) z{0#CY7yPiK?elkEJ#z2+onKLPo_A67-@mIh?#-0uc~SU2eZBY3Q&Zjxj}6bvS3H*9 zK-D&0?q5>s)AjS~X|75g=3Y0?Ykc+t!9L+^sT;qiE1#=K;ad?EC3Tes))EaQI@-9u zRixJF8n~;Zf!Tk7?X+q3pP1hb=I!%(Xe1VF#XDJyc;^#OY<0MHKGWUkXmK~WHx~`J zf#Unm!pgPP7V~X?8vu}-40aqUH6*va2FT0MYSm|0t2KZ4(b`(=Q*Yq+8@SuRzh&TU z2EN{chcE zXNqT{*%?E<8K+_XLk7Ohz@I@*&ae_4p;nmZ5M!Mf{6}GB2_nJppt~0Wy+K*-3HA;^ zAP|t_VyKCLpeTx=Ed=$^p+QNvMG~@ZizRw=6q1L6@mN?4ktLz<0WlN{7glSF$X*bL zN%4RzjYu*C#Axu9|HOgdU^o(kKs+3gq5)Bog9j6n_nH55>y>^%UO(Sg&Ifp8E!hQ4>~*QEE1dYXB-J<^k4F zydEV)u>;_4ithusmtq&dS{<`L2M{Pe3*eym*QI#a_e*=R=Sx1>k4rw;PfImqSJjZk z8ak;@tl>tAv4%897Hi1S@r6?SEY|8SI*zrXb+F*6(K=Y(EX}d}q?C*0bSWOobm>ej zn6Dm>J9aP<5B7jN7LRJ*eH6u|195PpEQ8?giN(MjMR~i)C{9Mrp}O6@Ly-t-6=V6o z8+n6CKIFY7tr>ew0ck(<-FG4-^XMDXv1$&1dQIQ~#8&M8Yu>~98oDp~vz)~-+E^Vt zgkOSv8n^utx4MbA96K2&y%M_@JBeX4c5D_rCn&yuh>4AMniCF{;d;||5RjOu&$Woj f|Hw24V)oAv%@#+se8Md1~HTD_ig-< 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 delta 4725 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 diff --git a/src/collide.c b/src/collide.c index 2884185..de9f975 100644 --- a/src/collide.c +++ b/src/collide.c @@ -1,7 +1,7 @@ #include "collide.h" #include "draw.h" -#define PLAYER_H 15 +#define PLAYER_H 11 #define PLAYER_W 11 #define LEVEL_WIDTH 28 @@ -20,9 +20,13 @@ char collide_point(int x, int y, char level[], char tile) return (level[(int)(x/16) + (int)(y/16) * LEVEL_WIDTH] == tile); } -char collide_solid(int x, int y, char level[]) +char collide_solid(int x, int y, char level[], char polarity) { - return (collide(x, y, level, '0') || + char collided; + if (polarity) collided = collide(x, y, level, 'b'); + else collided = collide(x, y, level, 'r'); + return (collided || + collide(x, y, level, '0') || collide(x, y, level, '^') || collide(x, y, level, '~')); } diff --git a/src/draw.c b/src/draw.c index 333f2eb..40b63fb 100644 --- a/src/draw.c +++ b/src/draw.c @@ -1,17 +1,24 @@ -#include + #include #include "draw.h" -#define PLAYER_H 15 +#define PLAYER_H 11 #define PLAYER_W 11 #define BG_COLOR 0 #define LEVEL_WIDTH 28 #define DRAW_OFFSET_Y -24 #define DRAW_OFFSET_X -27 -extern image_t img_player; //player texture, 12x12 +extern image_t img_player; //player texture, 16x12 extern image_t img_ground; //ground texture, 16x16 extern image_t img_spike; //spike texture, 16x16 +extern image_t img_bouncer; //bouncer texture, 16x16 extern image_t img_ice; //ice texture, 16x8 +extern image_t img_blue; //blue bloc texture, 16x16 +extern image_t img_blue_dot; //off blue bloc texture, 16x16 +extern image_t img_red; //red bloc texture, 16x16 +extern image_t img_red_dot; //off red bloc texture, 16x16 +extern image_t img_exit; //exit texture, 16x16 +extern image_t img_water; //water texture, 16x16 //animated textures extern image_t img_elevator1, img_elevator2, img_elevator3, img_elevator4; extern image_t img_elevator5, img_elevator6, img_elevator7, img_elevator8; @@ -23,18 +30,13 @@ const image_t * ani_elevator[16] = {&img_elevator1, &img_elevator2, &img_elevator11, &img_elevator12, &img_elevator13, &img_elevator14, &img_elevator15, &img_elevator16}; -void draw_player(int old_x, int old_y, int x, int y) +void draw_player(int x, int y) { - if (old_x != x || old_y != y) - { - drect(old_x + DRAW_OFFSET_X, old_y + DRAW_OFFSET_Y, - (old_x + PLAYER_W) + DRAW_OFFSET_X, - (old_y + PLAYER_H) + DRAW_OFFSET_Y, BG_COLOR); - dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_player); - } + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_player); } -void draw_level(char level[]) +void draw_level(char level[], unsigned int step, char polarity, int *start_x, +int *start_y) { dclear(BG_COLOR); unsigned int i = 0; @@ -47,9 +49,20 @@ void draw_level(char level[]) case '0': dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_ground); break; + case 'r': + if (!polarity) dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_red); + else dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_red_dot); + break; + case 'b': + if (polarity) dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_blue); + else dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_blue_dot); + break; case 'v': dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_spike); break; + case '*': + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_bouncer); + break; case '~': dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_ground); dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_ice); @@ -57,29 +70,20 @@ void draw_level(char level[]) case 's': dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_ground); break; - } - x += 16; - if (x == 16*LEVEL_WIDTH) - { - x = 0; - y += 16; - } - i++; - } -} - -void draw_level_anims(char level[], unsigned int step) -{ - unsigned int i = 0; - unsigned int x = 0; - unsigned int y = 0; - while (i != LEVEL_WIDTH*16) - { - switch (level[i]) - { case '^': dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, ani_elevator[(step/2)%16]); break; + case 'S': + erase_tile(x, y, level); + *start_x = x; + *start_y = y; + break; + case 'E': + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_exit); + break; + case 'w': //water + dimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, &img_water); + break; } x += 16; if (x == 16*LEVEL_WIDTH) @@ -98,9 +102,6 @@ void erase_tile(int x, int y, char level[]) level[x + y * LEVEL_WIDTH] = '.'; x *= 16; y *= 16; - drect(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, - x + 15 + DRAW_OFFSET_X, - y + 15 + DRAW_OFFSET_Y, BG_COLOR); } void draw_timer(unsigned int step) diff --git a/src/levels.c b/src/levels.c index 2782c8d..9633050 100644 --- a/src/levels.c +++ b/src/levels.c @@ -1,3 +1,3 @@ #include "levels.h" #include -void set_level(int level_id, char level[]){switch (level_id){case 4950:memcpy(level,"-----------------------------..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--.......00000..............-----------------------------",476);break;case 5050:memcpy(level,"-----------------------------..........................--............00............--..........................--..........................--................00........--..........................--..........................--..........................--.....................00...--..........................--..........................--0........................0--000....................000--00000000..........00000000--00000000000000000000000000-----------------------------",476);break;case 5150:memcpy(level,"-----------------------------..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................-----------------------------",476);break;}} \ No newline at end of file +void set_level(int level_id, char level[]){switch (level_id){case 4950:memcpy(level,"-----------------------------..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--.......00000..............-----------------------------",476);break;case 5050:memcpy(level,"-----------------------------00000000000000000000000000--00000000000000000000000000--000.....rr..........000000--000.....rr..........000000--000.....rr..........000000--000.....rr..........000000--000..E..rr..........000000--00000000000bbbb.....000000--00000000000bbbb00000000000--00.............00000000000--00.............00000000000--00.........000000000000000--00..S......000000000000000--00000000000000000000000000--00000000000000000000000000-----------------------------",476);break;case 5051:memcpy(level,"-----------------------------00000000000000000000000000--00000000000000000000000000--00000000000000000000000000--00000000000000000000000000--00000000000000000000000000--00......................00--00......................00--00......................00--00......................00--00S....................E00--0000rrrrrrrrrbbbbbbbbb0000--0000vvvvvvvvvvvvvvvvvv0000--00000000000000000000000000--00000000000000000000000000--00000000000000000000000000-----------------------------",476);break;case 5052:memcpy(level,"-----------------------------00000000000000000000000000--00000000000000000000000000--0000000000.........0000000--0000000000.......E.0000000--0000000000....000000000000--0000000000......0000000000--0000000000bb....0000000000--0000000000......0000000000--0000000000....000000000000--0000000000......0000000000--0000000000rr....0000000000--0000000.........0000000000--0000000.S.......0000000000--00000000000000000000000000--00000000000000000000000000-----------------------------",476);break;case 5053:memcpy(level,"-----------------------------00000000000000000000000000--00000000000000000000000000--00000000000000000000000000--0000.....00000000000000000--000.......0000000000000000--00.........000000000000000--00.........000000000000000--00.........0000....b..r.00--00.........000.....b..r.00--00....0............b..rE00--00....0..........bbbrrr.00--00....0.........bvvvvvvv00--00.S..0.........v000000000--0000**00000000000000000000--00000000000000000000000000-----------------------------",476);break;case 5054:memcpy(level,"-----------------------------00000000000000000000000000--00000000000000000000000000--00......000...v...000...00--00......000.......000.E.00--00.S....000.......000...00--00000...000...0...000...00--00000www000www0www000www00--00000www000www0www000www00--00000www000www0www000www00--00000vww000wwv0vww000wwv00--00000wwwwwwwww0wwwwwwwww00--00000wwwwwwwww0wwwwwwwww00--00000wwwwwwwww0wwwwwwwww00--00000000000000000000000000--00000000000000000000000000-----------------------------",476);break;case 5055:memcpy(level,"-----------------------------00000000000000000000000000--00000000000000000000000000--00......................00--00......................00--00......................00--000000..............000000--.r...0..............0...b.--.r...0..............0...b.--.r.S.0..............0.E.b.--000000..............000000--00......................00--00......................00--00......................00--00000000000000000000000000--00000000000000000000000000-----------------------------",476);break;case 5056:memcpy(level,"-----------------------------00000000000000..0000000000--00000000000000..0000000000--000000.......0..0...ww...0--000000.......0..0...ww...0--000000.......0......ww...0--000000bbb0...0.....vvvv..0--000000vww0...0..00vvvvvvE0--000000www0v.....0000000000--000000wwv0v.....0000000000--000000rrr0...0..0000000000--00...0wwv0...0..v000000000--00...bwww0...0..v000000000--00.S.bwww0***0..0000000000--00000000000000..0000000000--00000000000000..0000000000-----------------------------",476);break;case 5057:memcpy(level,"-----------------------------00000000000000000000000000--00000000000000000000000000--00....v000000vvvvvvvv...00--00....v0vv000...........00--00....0v..000.........S.00--00ww0.E...000........00000--00ww0000v...........v00000--00ww000..............00000--00ww000...........w..00000--00wwwwww00^.......v..00000--00wwwwww00^.......v..00000--00vvvvvv00^......vv..00000--00000000000......vv..00000--000000000000vvv0v00**00000--00000000000000000000000000-----------------------------",476);break;case 5150:memcpy(level,"-----------------------------..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................--..........................-----------------------------",476);break;}} \ No newline at end of file diff --git a/src/main.c b/src/main.c index 30bf627..88386fb 100644 --- a/src/main.c +++ b/src/main.c @@ -1,23 +1,22 @@ #include #include #include +#include #include "draw.h" #include "collide.h" #include "levels.h" #include "player.h" #define MAX_HSPD 2.5 -#define ACCELERATION 1 +#define ACCELERATION 1.0 #define DECELERATION 0.5 #define MIN_VSPD -12.0 -#define MAX_VSPD 12 +#define MAX_VSPD 6.0 #define JUMP_SPD -3.99 #define GRAV 0.4 -#define JUMP_SCALE 12 +#define JUMP_SCALE 8 #define JUMP_REDUCTION -0.41 -#define UG_CAN_JUMP upgrades[0] -char coins[256]; -#define DRAW_LEVEL() draw_level(level) +#define DRAW_LEVEL() draw_level(level, step, polarity, &start_x, &start_y) void dupdate(); //gint function //test if jump pressed @@ -47,16 +46,14 @@ int main(void) int player_y = 0; int start_x = 18*16 + 2; int start_y = 9*16 + 4; - int old_x, old_y; char spawn_buffer = 0; unsigned int step = 0; + char pswap_held = 0; + char polarity = 0; //0 -> blue, 1 -> red set_level(level_id, level); DRAW_LEVEL(); - draw_level_anims(level, step); player_x = start_x; player_y = start_y; - old_x = player_x + 1; //offset to draw it on first cycle - old_y = player_y; //fps cap timer timer_setup(0, timer_delay(0, 16667), 0, callback, &has_ticked); timer_start(0); @@ -65,14 +62,22 @@ int main(void) has_ticked = 0; //START DRAW step++; - draw_level_anims(level, step); - draw_player(old_x, old_y, player_x, player_y); + DRAW_LEVEL(); + draw_player(player_x, player_y); draw_timer(step); dupdate(); - old_y = player_y; - old_x = player_x; //END DRAW clearevents(); + //polarity swap first + if (keydown(KEY_OPTN)) + { + if (!pswap_held) + { + pswap_held = 1; + polarity = !polarity; + } + } + else pswap_held = 0; //horizontal movement & collision { move = 0; @@ -98,14 +103,14 @@ int main(void) trunc_hspd = hspd * direction; if (1) //glue was here { - if (!collide_solid(player_x + trunc_hspd, player_y, level)) + if (!collide_solid(player_x + trunc_hspd, player_y, level, polarity)) { player_x += trunc_hspd; } else { int sign_hspd = sgn(trunc_hspd); - while (!collide_solid(player_x + sign_hspd, player_y, level)) + while (!collide_solid(player_x + sign_hspd, player_y, level, polarity)) { player_x += sign_hspd; } @@ -114,7 +119,7 @@ int main(void) } } //ground detection - if (vspd >= 0 && collide_solid(player_x, player_y + 1, level)) + if (vspd >= 0 && collide_solid(player_x, player_y + 1, level, polarity)) { on_ground = 6; vspd = 0; @@ -132,7 +137,7 @@ int main(void) //vertical movement jump_test(&jump_pressed, &jump_buffer, &jump_hold); //jump - if (jump_buffer && on_ground) { + if (jump_buffer && (on_ground || collide(player_x, player_y, level, 'w'))) { vspd = JUMP_SPD; on_ground = 0; jump_hold = JUMP_SCALE; @@ -156,16 +161,22 @@ int main(void) //vertical collision { int trunc_vspd = vspd; //truncate vspd + //bouncer + if (collide(player_x, player_y + trunc_vspd, level, '*')) + { + vspd = -vspd - 2; + trunc_vspd = vspd; + } if (trunc_vspd) { - if (!collide_solid(player_x, player_y + trunc_vspd, level)) + if (!collide_solid(player_x, player_y + trunc_vspd, level, polarity)) { player_y += trunc_vspd; } else { int sign_vspd = sgn(trunc_vspd); - while (!collide_solid(player_x, player_y + sign_vspd, level)) + while (!collide_solid(player_x, player_y + sign_vspd, level, polarity)) { player_y += sign_vspd; } @@ -179,38 +190,27 @@ int main(void) { player_x = start_x; player_y = start_y; + polarity = 0; vspd = 0; } - //borders collision - if (player_x <= 22) - { - player_x = 414; - } - else if (player_x >= 416) - { - player_x = 24; - } - else if (player_y <= 8) - { - level_id -= 100; - player_y = 246; - spawn_buffer = 1; - set_start_pos(&start_x, &start_y, player_x, player_y); - set_level(level_id, level); - DRAW_LEVEL(); - reset_old_pos(&old_x, &old_y); - } - else if (player_y >= 248) - { - level_id += 100; - player_y = 10; - set_start_pos(&start_x, &start_y, player_x, player_y); - set_level(level_id, level); - DRAW_LEVEL(); - reset_old_pos(&old_x, &old_y); - } + //border warp + if (player_x <= 22) player_x = 414; + else if (player_x >= 416) player_x = 24; + else if (player_y <= 8) player_y = 246; + else if (player_y >= 248) player_y = 10; //secret way/hidden passage collide_and_erase(player_x, player_y, level, 's'); + //next level (exit) + if (collide(player_x, player_y, level, 'E')) + { + level_id++; + set_level(level_id, level); + DRAW_LEVEL(); + player_x = start_x; + player_y = start_y; + polarity = 0; + vspd = 0; + } //exit if (keydown(KEY_EXIT)) return 0; }