sm64pc / sm64ex

Fork of https://github.com/sm64-port/sm64-port with additional features.
1.57k stars 482 forks source link

How i can compile under Slackware(64) 14.2 & Configure Controls ? #23

Closed inukaze closed 4 years ago

inukaze commented 4 years ago

Hi there i am trying to compiler under Slackwares 14.2 (32 Bits & 64 Bits i have two versions in two diferents partitions).

i try the follow :

cd /tmp 
git clone https://github.com/sm64pc/sm64pc
cd sm64pc

put the base-game on the folder

Under Slackware 14.2 (32 Bits) : export {C,CXX}FLAGS='-O2' ; export OPTFLAGS='-O2'

Under Slackware 14.2 (64 Bits) : export {C,CXX}FLAGS='-O2 -fPIC' ; export OPTFLAGS='-O2-fPIC'

after i try to make

i notice i got an error and i try to make it again, this is the final output :

$ make
tools/skyconv --type sky --split textures/skyboxes/ccm.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/ccm_skybox.o build/us_pc/bin/ccm_skybox.c
tools/skyconv --type sky --split textures/skyboxes/clouds.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/clouds_skybox.o build/us_pc/bin/clouds_skybox.c
tools/skyconv --type sky --split textures/skyboxes/bitfs.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/bitfs_skybox.o build/us_pc/bin/bitfs_skybox.c
tools/skyconv --type sky --split textures/skyboxes/bits.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/bits_skybox.o build/us_pc/bin/bits_skybox.c
tools/skyconv --type sky --split textures/skyboxes/cloud_floor.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/cloud_floor_skybox.o build/us_pc/bin/cloud_floor_skybox.c
tools/skyconv --type sky --split textures/skyboxes/ssl.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/ssl_skybox.o build/us_pc/bin/ssl_skybox.c
tools/skyconv --type sky --split textures/skyboxes/water.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/water_skybox.o build/us_pc/bin/water_skybox.c
tools/skyconv --type sky --split textures/skyboxes/bidw.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/bidw_skybox.o build/us_pc/bin/bidw_skybox.c
tools/skyconv --type sky --split textures/skyboxes/bbh.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/bbh_skybox.o build/us_pc/bin/bbh_skybox.c
tools/skyconv --type sky --split textures/skyboxes/wdw.png build/us_pc/bin
gcc -c -g  -I include -I build/us_pc -I build/us_pc/include -I src -I . -DVERSION_US -DNON_MATCHING -DAVOID_UB -DF3DEX_GBI_2E -fno-strict-aliasing -fwrapv `sdl2-config --cflags` -o build/us_pc/bin/wdw_skybox.o build/us_pc/bin/wdw_skybox.c
gcc -L build/us_pc -o build/us_pc/sm64.us.f3dex2e build/us_pc/src/engine/surface_collision.o build/us_pc/src/engine/behavior_script.o build/us_pc/src/engine/level_script.o build/us_pc/src/engine/graph_node_manager.o build/us_pc/src/engine/math_util.o build/us_pc/src/engine/geo_layout.o build/us_pc/src/engine/surface_load.o build/us_pc/src/engine/graph_node.o build/us_pc/src/game/save_file.o build/us_pc/src/game/level_geo.o build/us_pc/src/game/object_helpers.o build/us_pc/src/game/mario_actions_object.o build/us_pc/src/game/moving_texture.o build/us_pc/src/game/obj_behaviors.o build/us_pc/src/game/object_collision.o build/us_pc/src/game/interaction.o build/us_pc/src/game/platform_displacement.o build/us_pc/src/game/area.o build/us_pc/src/game/spawn_sound.o build/us_pc/src/game/mario_actions_moving.o build/us_pc/src/game/debug_course.o build/us_pc/src/game/game_init.o build/us_pc/src/game/envfx_snow.o build/us_pc/src/game/mario_step.o build/us_pc/src/game/spawn_object.o build/us_pc/src/game/crash_screen.o build/us_pc/src/game/hud.o build/us_pc/src/game/behavior_actions.o build/us_pc/src/game/mario_actions_airborne.o build/us_pc/src/game/mario_actions_cutscene.o build/us_pc/src/game/skybox.o build/us_pc/src/game/paintings.o build/us_pc/src/game/shadow.o build/us_pc/src/game/camera.o build/us_pc/src/game/profiler.o build/us_pc/src/game/memory.o build/us_pc/src/game/mario_actions_submerged.o build/us_pc/src/game/sound_init.o build/us_pc/src/game/ingame_menu.o build/us_pc/src/game/geo_misc.o build/us_pc/src/game/macro_special_objects.o build/us_pc/src/game/mario_actions_stationary.o build/us_pc/src/game/screen_transition.o build/us_pc/src/game/envfx_bubbles.o build/us_pc/src/game/object_list_processor.o build/us_pc/src/game/mario_misc.o build/us_pc/src/game/debug.o build/us_pc/src/game/thread6.o build/us_pc/src/game/obj_behaviors_2.o build/us_pc/src/game/print.o build/us_pc/src/game/mario.o build/us_pc/src/game/rendering_graph_node.o build/us_pc/src/game/mario_actions_automatic.o build/us_pc/src/game/level_update.o build/us_pc/src/audio/heap.o build/us_pc/src/audio/seqplayer.o build/us_pc/src/audio/globals_end.o build/us_pc/src/audio/globals_start.o build/us_pc/src/audio/playback.o build/us_pc/src/audio/effects.o build/us_pc/src/audio/external.o build/us_pc/src/audio/load.o build/us_pc/src/audio/port_eu.o build/us_pc/src/audio/synthesis.o build/us_pc/src/audio/data.o build/us_pc/src/menu/level_select_menu.o build/us_pc/src/menu/intro_geo.o build/us_pc/src/menu/star_select.o build/us_pc/src/menu/file_select.o build/us_pc/src/buffers/framebuffers.o build/us_pc/src/buffers/gfx_output_buffer.o build/us_pc/src/buffers/buffers.o build/us_pc/src/buffers/zbuffer.o build/us_pc/actors/group8.o build/us_pc/actors/group5_geo.o build/us_pc/actors/group9_geo.o build/us_pc/actors/group16.o build/us_pc/actors/group10.o build/us_pc/actors/group16_geo.o build/us_pc/actors/group15.o build/us_pc/actors/group5.o build/us_pc/actors/group6_geo.o build/us_pc/actors/group14.o build/us_pc/actors/common1.o build/us_pc/actors/group9.o build/us_pc/actors/group3_geo.o build/us_pc/actors/group8_geo.o build/us_pc/actors/common0_geo.o build/us_pc/actors/group2.o build/us_pc/actors/group0_geo.o build/us_pc/actors/group6.o build/us_pc/actors/group13_geo.o build/us_pc/actors/group4_geo.o build/us_pc/actors/group17_geo.o build/us_pc/actors/group2_geo.o build/us_pc/actors/group12.o build/us_pc/actors/group11_geo.o build/us_pc/actors/group7.o build/us_pc/actors/group3.o build/us_pc/actors/group7_geo.o build/us_pc/actors/common0.o build/us_pc/actors/group10_geo.o build/us_pc/actors/group0.o build/us_pc/actors/group13.o build/us_pc/actors/group4.o build/us_pc/actors/group17.o build/us_pc/actors/group14_geo.o build/us_pc/actors/common1_geo.o build/us_pc/actors/group15_geo.o build/us_pc/actors/group12_geo.o build/us_pc/actors/group11.o build/us_pc/actors/group1_geo.o build/us_pc/actors/group1.o build/us_pc/levels/entry.o build/us_pc/levels/scripts.o build/us_pc/bin/mountain.o build/us_pc/bin/machine.o build/us_pc/bin/grass.o build/us_pc/bin/water.o build/us_pc/bin/title_screen_bg.o build/us_pc/bin/debug_level_select.o build/us_pc/bin/sky.o build/us_pc/bin/generic.o build/us_pc/bin/spooky.o build/us_pc/bin/fire.o build/us_pc/bin/outside.o build/us_pc/bin/effect.o build/us_pc/bin/snow.o build/us_pc/bin/cave.o build/us_pc/bin/inside.o build/us_pc/bin/segment2.o build/us_pc/data/behavior_data.o build/us_pc/src/pc/ultra_reimplementation.o build/us_pc/src/pc/mixer.o build/us_pc/src/pc/pc_main.o build/us_pc/src/pc/configfile.o build/us_pc/src/pc/gfx/gfx_pc.o build/us_pc/src/pc/gfx/gfx_sdl2.o build/us_pc/src/pc/gfx/gfx_opengl.o build/us_pc/src/pc/audio/audio_sdl.o build/us_pc/src/pc/audio/audio_null.o build/us_pc/src/pc/controller/controller_entry_point.o build/us_pc/src/pc/controller/controller_keyboard.o build/us_pc/src/pc/controller/controller_sdl.o build/us_pc/src/pc/controller/controller_emscripten_keyboard.o build/us_pc/src/pc/controller/controller_recorded_tas.o build/us_pc/levels/bbh/leveldata.o build/us_pc/levels/castle_grounds/leveldata.o build/us_pc/levels/thi/leveldata.o build/us_pc/levels/wdw/leveldata.o build/us_pc/levels/ddd/leveldata.o build/us_pc/levels/castle_inside/leveldata.o build/us_pc/levels/bitdw/leveldata.o build/us_pc/levels/bowser_2/leveldata.o build/us_pc/levels/lll/leveldata.o build/us_pc/levels/bowser_3/leveldata.o build/us_pc/levels/menu/leveldata.o build/us_pc/levels/jrb/leveldata.o build/us_pc/levels/vcutm/leveldata.o build/us_pc/levels/hmc/leveldata.o build/us_pc/levels/ending/leveldata.o build/us_pc/levels/castle_courtyard/leveldata.o build/us_pc/levels/ttc/leveldata.o build/us_pc/levels/cotmc/leveldata.o build/us_pc/levels/rr/leveldata.o build/us_pc/levels/bitfs/leveldata.o build/us_pc/levels/wmotr/leveldata.o build/us_pc/levels/ttm/leveldata.o build/us_pc/levels/wf/leveldata.o build/us_pc/levels/bits/leveldata.o build/us_pc/levels/intro/leveldata.o build/us_pc/levels/bob/leveldata.o build/us_pc/levels/bowser_1/leveldata.o build/us_pc/levels/totwc/leveldata.o build/us_pc/levels/sa/leveldata.o build/us_pc/levels/pss/leveldata.o build/us_pc/levels/sl/leveldata.o build/us_pc/levels/ccm/leveldata.o build/us_pc/levels/ssl/leveldata.o build/us_pc/levels/bbh/script.o build/us_pc/levels/castle_grounds/script.o build/us_pc/levels/thi/script.o build/us_pc/levels/wdw/script.o build/us_pc/levels/ddd/script.o build/us_pc/levels/castle_inside/script.o build/us_pc/levels/bitdw/script.o build/us_pc/levels/bowser_2/script.o build/us_pc/levels/lll/script.o build/us_pc/levels/bowser_3/script.o build/us_pc/levels/menu/script.o build/us_pc/levels/jrb/script.o build/us_pc/levels/vcutm/script.o build/us_pc/levels/hmc/script.o build/us_pc/levels/ending/script.o build/us_pc/levels/castle_courtyard/script.o build/us_pc/levels/ttc/script.o build/us_pc/levels/cotmc/script.o build/us_pc/levels/rr/script.o build/us_pc/levels/bitfs/script.o build/us_pc/levels/wmotr/script.o build/us_pc/levels/ttm/script.o build/us_pc/levels/wf/script.o build/us_pc/levels/bits/script.o build/us_pc/levels/intro/script.o build/us_pc/levels/bob/script.o build/us_pc/levels/bowser_1/script.o build/us_pc/levels/totwc/script.o build/us_pc/levels/sa/script.o build/us_pc/levels/pss/script.o build/us_pc/levels/sl/script.o build/us_pc/levels/ccm/script.o build/us_pc/levels/ssl/script.o build/us_pc/levels/bbh/geo.o build/us_pc/levels/castle_grounds/geo.o build/us_pc/levels/thi/geo.o build/us_pc/levels/wdw/geo.o build/us_pc/levels/ddd/geo.o build/us_pc/levels/castle_inside/geo.o build/us_pc/levels/bitdw/geo.o build/us_pc/levels/bowser_2/geo.o build/us_pc/levels/lll/geo.o build/us_pc/levels/bowser_3/geo.o build/us_pc/levels/menu/geo.o build/us_pc/levels/jrb/geo.o build/us_pc/levels/vcutm/geo.o build/us_pc/levels/hmc/geo.o build/us_pc/levels/ending/geo.o build/us_pc/levels/castle_courtyard/geo.o build/us_pc/levels/ttc/geo.o build/us_pc/levels/cotmc/geo.o build/us_pc/levels/rr/geo.o build/us_pc/levels/bitfs/geo.o build/us_pc/levels/wmotr/geo.o build/us_pc/levels/ttm/geo.o build/us_pc/levels/wf/geo.o build/us_pc/levels/bits/geo.o build/us_pc/levels/intro/geo.o build/us_pc/levels/bob/geo.o build/us_pc/levels/bowser_1/geo.o build/us_pc/levels/totwc/geo.o build/us_pc/levels/sa/geo.o build/us_pc/levels/pss/geo.o build/us_pc/levels/sl/geo.o build/us_pc/levels/ccm/geo.o build/us_pc/levels/ssl/geo.o   build/us_pc/assets/mario_anim_data.o build/us_pc/assets/demo_data.o build/us_pc/bin/ccm_skybox.o build/us_pc/bin/clouds_skybox.o build/us_pc/bin/bitfs_skybox.o build/us_pc/bin/bits_skybox.o build/us_pc/bin/cloud_floor_skybox.o build/us_pc/bin/ssl_skybox.o build/us_pc/bin/water_skybox.o build/us_pc/bin/bidw_skybox.o build/us_pc/bin/bbh_skybox.o build/us_pc/bin/wdw_skybox.o build/us_pc/sound/sound_data.ctl.o build/us_pc/sound/sound_data.tbl.o build/us_pc/sound/sequences.bin.o build/us_pc/sound/bank_sets.o  build/us_pc/lib/src/__osSpSetPc.o build/us_pc/lib/src/guPerspectiveF.o build/us_pc/lib/src/__osGetCurrFaultedThread.o build/us_pc/lib/src/guTranslateF.o build/us_pc/lib/src/osViTable.o build/us_pc/lib/src/osEPiRawStartDma.o build/us_pc/lib/src/__osSiCreateAccessQueue.o build/us_pc/lib/src/guScaleF.o build/us_pc/lib/src/__osSpGetStatus.o build/us_pc/lib/src/osViData.o build/us_pc/lib/src/__osSpRawStartDma.o build/us_pc/lib/src/__osAiDeviceBusy.o build/us_pc/lib/src/osCreateMesgQueue.o build/us_pc/lib/src/NaN.o build/us_pc/lib/src/__osPiCreateAccessQueue.o build/us_pc/lib/src/unk_stack_data.o build/us_pc/lib/src/__osSpDeviceBusy.o build/us_pc/lib/src/osGetThreadPri.o build/us_pc/lib/src/__osSiRawWriteIo.o build/us_pc/lib/src/osSpTaskYielded.o build/us_pc/lib/src/guOrthoF.o build/us_pc/lib/src/func_802F71A0.o build/us_pc/lib/src/_Ldtob.o build/us_pc/lib/src/alBnkfNew.o build/us_pc/lib/src/__osSpSetStatus.o build/us_pc/lib/src/osSpTaskYield.o build/us_pc/lib/src/__osSiDeviceBusy.o build/us_pc/lib/src/__osDequeueThread.o build/us_pc/lib/src/__osSiRawReadIo.o build/us_pc/lib/src/ldiv.o build/us_pc/lib/src/guMtxF2L.o build/us_pc/lib/src/guLookAtRef.o build/us_pc/lib/src/_Litob.o build/us_pc/lib/src/guRotateF.o build/us_pc/lib/src/guNormalize.o build/us_pc/lib/src/math/llmuldiv.o build/us_pc/lib/src/math/sinf.o build/us_pc/lib/src/math/llconv.o build/us_pc/lib/src/math/cosf.o build/us_pc/src/goddard/old_menu.o build/us_pc/src/goddard/particles.o build/us_pc/src/goddard/dynlist_proc.o build/us_pc/src/goddard/renderer.o build/us_pc/src/goddard/skin.o build/us_pc/src/goddard/joints.o build/us_pc/src/goddard/objects.o build/us_pc/src/goddard/draw_objects.o build/us_pc/src/goddard/debug_utils.o build/us_pc/src/goddard/gd_math.o build/us_pc/src/goddard/gd_memory.o build/us_pc/src/goddard/gd_main.o build/us_pc/src/goddard/skin_movement.o build/us_pc/src/goddard/sfx.o build/us_pc/src/goddard/shape_helper.o build/us_pc/src/goddard/dynlists/dynlist_test_cube.o build/us_pc/src/goddard/dynlists/dynlists_mario_eyes.o build/us_pc/src/goddard/dynlists/anim_mario_lips_1.o build/us_pc/src/goddard/dynlists/dynlist_mario_master.o build/us_pc/src/goddard/dynlists/anim_mario_eyebrows_1.o build/us_pc/src/goddard/dynlists/anim_group_2.o build/us_pc/src/goddard/dynlists/anim_mario_mustache_left.o build/us_pc/src/goddard/dynlists/dynlist_mario_face.o build/us_pc/src/goddard/dynlists/anim_mario_lips_2.o build/us_pc/src/goddard/dynlists/anim_mario_mustache_right.o build/us_pc/src/goddard/dynlists/dynlist_unused.o build/us_pc/src/goddard/dynlists/dynlists_mario_eyebrows_mustache.o build/us_pc/src/goddard/dynlists/anim_group_1.o  -march=native -lm -lGL `sdl2-config --libs` -no-pie -lpthread
gcc: error: unrecognized command line option ‘-no-pie’
Makefile:735: fallo en las instrucciones para el objetivo 'build/us_pc/sm64.us.f3dex2e'
make: *** [build/us_pc/sm64.us.f3dex2e] Error 1

sm64pc_001 sm64pc_002

Thanks for any answer you can give me, i will go try to modify Makefile and delete all parts says

-no-pie

Well this works xD under Slackware64 14.2, for some reason the keyboard does nothing with the game

sm64pc_003

inukaze commented 4 years ago

SOLVED i recompile again two versions and now works with the follow controls :

Space = N64 Start Button WASD = Move L = N64 A Button K = N64 Z Button , = N64 B Button (Its the comma if you can't see fine the character) Right Shift = N64 R Trigger Directionals = N64 C Buttons

sm64pc_004

Well i hope in a future someone put to use a directory/file structure similar to : ./binary_executable ./data/sounds ./data/music/menu ./data/music/background ./data/menu/texts ./data/menu/dialogs ./data/menu/levels ./data/menu/starts ./data/icons/ (i prefer svg format but if not possible png instead) ./data/font (and the possibility to change for a otf or ttf font)

mainly the fonts because i thing is too much low resolution xD, and with that i can translate all game to spanish :D

Thank you very much for this source code i love it :D